Comment 0 for bug 356861

Revision history for this message
Anders Kaseorg (andersk) wrote :

Two security advisories released today affect all versions of OpenAFS from 1.0 through 1.4.8. They have both been corrected in the simultaneous release of 1.4.9 (which only fixes these two issues over 1.4.8) and 1.4.10 (which also includes other bugfixes). Release announcement:
<http://lists.openafs.org/pipermail/openafs-announce/2009/000285.html>

OPENAFS-SA-2009-001 - Network based buffer overflow attack against Unix cache manager
<http://www.openafs.org/security/OPENAFS-SA-2009-001.txt>
AFS's XDR data marshalling language permits the construction of arrays with a size constrained by the interface definition. The XDR decoding language will accept data from the server up to this maximum size, which in some cases is stored into a buffer allocated by the client. In several locations, the AFS client assumes that the server will never return more data than requested, and so allocates a buffer smaller than this maximum size. Whilst this causes no problems when communicating with valid servers, an attacker can return more data than expected, and overflow the client's buffer.

OPENAFS-SA-2009-002 - Denial of service attack against Linux cache manager
<http://www.openafs.org/security/OPENAFS-SA-2009-002.txt>
AFS may pass an error code obtained from the fileserver directly to the Linux kernel, using a Linux mechanism that merges error codes and pointers into a single value. However, this mechanism is unable to distinguish certain error codes from pointers. When AFS returns a code of this type to the kernel, the kernel treats it as a pointer and attempts to dereference it. This causes a kernel panic, and results in a denial of service attack.