The developers behind OpenSSH, the suite of connectivity tools that helps users encrypt traffic on Internet sessions, acknowledged and patched over the weekend that a memory corruption vulnerability exists in some builds of the main suite.
If exploited, the vulnerability, which can be found in both 6.2 and 6.3 builds of OpenSSH, could lead to an authenticated code execution flaw, according to a security advisory on the group’s site.
The main problem stems from the post-authentication SSHD process and the AES-GCM cipher during key exchange. The SSHD wasn’t initializing a message authentication code (MAC) and ”a cleanup callback was still being invoked during a re-keying operation.”
Hash-based message authentication codes (MACs) afford the SSHD better security through data integrity protection.
In this case however the MAC was going unused and the address that was being called back was from a previous batch of heap contents.
The advisory claims OpenBSD, who develop the suite, fixed the issue by “pre-loading the heap with a useful callback address” and by enforcing address-space layout randomization (ASLR) to the SSHD and the shared libraries it depends on.
Addressing the vulnerability was a quick turnaround for OpenSSH. Markus Friedl, a German programmer and OpenSSH developer found the vulnerability and reported it just a day before, on Thursday.