CVE-2014-3556: Command Injection
The STARTTLS implementation in mail/ngxmailsmtphandler.c in the SMTP proxy in nginx 1.5.x and 1.6.x before 1.6.1 and 1.7.x before 1.7.4 does not properly restrict I/O buffering, which allows man-in-the-middle attackers to insert commands into encrypted SMTP sessions by sending a cleartext command that is processed after TLS is in place, related to a "plaintext command injection" attack, a similar issue to CVE-2011-0411.
Other sources
Upstream [1] reports: ... A bug in nginx SMTP proxy was found, which allows an attacker in a privileged network position to inject commands into SSL sessions started with the STARTTLS command, potentially making it possible to steal sensitive information sent by clients (CVE-2014-3556).
The problem affects nginx 1.5.6 - 1.7.3.
The problem is fixed in nginx 1.7.4, 1.6.1.
Patch for the problem can be found here:
http://nginx.org/download/patch.2014.starttls.txt
[1]: http://mailman.nginx.org/pipermail/nginx-announce/2014/000144.html
— Red Hat
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2014-3556?
CVE-2014-3556 is considered to have a medium severity due to its potential for man-in-the-middle attacks.
How do I fix CVE-2014-3556?
To remediate CVE-2014-3556, upgrade to Nginx version 1.6.1 or 1.7.4 or later.
Which versions of Nginx are affected by CVE-2014-3556?
Nginx versions 1.5.x and 1.6.x before 1.6.1, as well as 1.7.x before 1.7.4, are affected by CVE-2014-3556.
What kind of attack does CVE-2014-3556 allow?
CVE-2014-3556 allows man-in-the-middle attackers to insert commands into encrypted SMTP sessions.
What is the root cause of CVE-2014-3556?
The vulnerability arises from the STARTTLS implementation not properly restricting I/O buffering in the SMTP proxy of Nginx.