Concrete5 sendmail Remote Code Execution

Credit: Egidio Romano
Risk: High
Local: No
Remote: Yes

------------------------------------------------------------------- Concrete5 <= (sendmail) Remote Code Execution Vulnerability ------------------------------------------------------------------- [-] Software Link: [-] Affected Versions: Version and probably other versions. [-] Vulnerability Description: The vulnerable code is located in /concrete/controllers/single_page/dashboard/system/registration/open.php: 21. switch ($this->post('registration_type')) { 22. case "enabled": 23. Config::save('concrete.user.registration.enabled', true); 24. Config::save('concrete.user.registration.validate_email', false); 25. Config::save('concrete.user.registration.approval', false); 26. Config::save('concrete.user.registration.notification', $this->post('register_notification')); 27. Config::save( 28. 'concrete.user.registration.notification_email', 29. Loader::helper('security')->sanitizeString( 30. $this->post('register_notification_email'))); 31. break; User input passed through the "register_notification_email" POST parameter is not properly sanitized before being stored into a configuration setting at lines 27-30 (the sanitizeString() method doesn?t check if it is a valid email address). This value is used as a sender email address to send out a notification email when a new user is being registered, and this is done using the PHP mail() function, specifically passing such value to its fifth parameter. So, when sendmail is used to send out such an email, it is possible to alter the command line and tell the sendmail program to log all the email traffic in an arbitrary file chosen by the attacker, resulting in an arbitrary PHP code execution. This vulnerability is mitigated by the fact that it can be exploited only by authenticated administrator users (even though it could be exploited via a Cross-Site Request Forgery attack as well) and only if the email is being sent with sendmail. [-] Solution: Update to version 5.7.4 or later. [-] Disclosure Timeline: [05/05/2015] - Vulnerability details sent through HackerOne [05/05/2015] - Vendor said a patch has been committed and will be available in the next version [07/05/2015] - Version 5.7.4 released along with the patch for this vulnerability [06/06/2015] - Vulnerability publicly disclosed on HackerOne [11/06/2014] - CVE number requested [11/06/2014] - Publication of this advisory [-] CVE Reference: The Common Vulnerabilities and Exposures project ( has not assigned a name to this vulnerability yet. [-] Credits: Vulnerability discovered by Egidio Romano of Minded Security. [-] Original Advisory: [-] Other References:


Vote for this issue:


Thanks for you vote!


Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.

(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2019,


Back to Top