[OpenAFS-devel] Recent Security Advisories.

Simon Wilkinson sxw@inf.ed.ac.uk
Fri, 10 Apr 2009 18:35:48 +0100


Hi,

It's been brought to my attention that there may be people on this  
list who don't read openafs-announce, and may have missed the recent  
security advisories.

We recently released OpenAFS 1.4.9 (and 1.4.10, and 1.5.59) to  
address a couple of security issues in the Unix cache manager (one  
applies to any Unix cache manager with bulk stat enabled, the other  
to any Linux cache manager). These issue have been present in OpenAFS  
since 1.0

Abstracts are:

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.

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.

I am not aware of a publicly available exploit for either issue at  
present.

Cheers,



Simon.