Bug 1101725 (CVE-2014-2957)

Summary: CVE-2014-2957 exim: remote arbitrary code execution via DMARC code parsing
Product: [Other] Security Response Reporter: Vincent Danen <vdanen>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED NOTABUG QA Contact:
Severity: urgent Docs Contact:
Priority: urgent    
Version: unspecifiedCC: security-response-team
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: exim 4.82.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-28 19:30:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vincent Danen 2014-05-27 19:38:38 UTC
It was reported that the method used in the experimental DMARC code introduced in Exim 4.82 to parse the From header to determine the DMARC domain, used the expand_string() function to parse the raw data in the From header.  This function recognizes various Exim expansion operations, which can be used to execute arbitrary code in the context of Exim and what features have been enabled at compile-time, including calling the embedded Perl interpreter (if enabled).

This flaw was introduced in Exim 4.82 and only if the EXPERIMENTAL_DMARC feature was enabled.  It is fixed in Exim 4.82.1 by using internal parsing routines that are not subject to executing Exim's expansion functions.  Prior versions of Exim are unaffected by this flaw as they did not include this experimental code.

This issue does NOT affect Exim as provided in Red Hat Enterprise Linux 5, EPEL 6, or any released version of Fedora.


Statement:

Not vulnerable. This issue did not affect the versions of Exim as shipped with Red Hat Enterprise Linux 5 as they did not include the experimental DMARC support.