PHP does not properly filter parameters to its mail() function.
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().
Through a PHP script that passes user input to the mail() function, attackers may be able to alter message headers and content.
The CERT/CC is currently unaware of a practical solution to this problem.
Filter parameters to mail() function
Thanks to Wojciech Purczynski for reporting this vulnerability.
This document was written by Shawn Van Ittersum.
|Date First Published:||2002-09-16|
|Date Last Updated:||2002-09-16 23:41 UTC|