Overview
PHP does not properly filter parameters to its mail() function.
Description
PHP is a scripting language widely used in web application development. PHP includes a function called mail() that takes message parameters such as recipient address and sends mail using sendmail. PHP does not filter these parameters for inappropriate characters, such as ASCII control characters. When such characters are passed to sendmail, the mail message may be altered and mail headers may be forged. Documentation of the mail() function does not explain this risk to the developer and does not establish any responsibility on the script developer to filter message parameters before passing them to the mail() function. PHP should filter these characters or document script developers' responsibility to filter these parameters before calling mail(). |
Impact
Through a PHP script that passes user input to the mail() function, attackers may be able to alter message headers and content. |
Solution
The CERT/CC is currently unaware of a practical solution to this problem. |
Filter parameters to mail() function |
Vendor Information
CVSS Metrics
Group | Score | Vector |
---|---|---|
Base | ||
Temporal | ||
Environmental |
References
Acknowledgements
Thanks to Wojciech Purczynski for reporting this vulnerability.
This document was written by Shawn Van Ittersum.
Other Information
CVE IDs: | None |
Severity Metric: | 5.52 |
Date Public: | 2002-08-23 |
Date First Published: | 2002-09-16 |
Date Last Updated: | 2002-09-16 23:41 UTC |
Document Revision: | 7 |