Vigil@nce: Linux kernel, memory reading via AF_LLC
August 2009 by Vigil@nce
A local attacker can create an AF_LLC socket and use
getsockname(), in order to obtain 5 bytes coming from the kernel
memory.
Severity: 1/4
Consequences: data reading
Provenance: user shell
Means of attack: 1 attack
Ability of attacker: technician (2/4)
Confidence: confirmed by the editor (5/5)
Diffusion of the vulnerable configuration: high (3/3)
Creation date: 26/08/2009
IMPACTED PRODUCTS
– Linux kernel
DESCRIPTION OF THE VULNERABILITY
The kernel supports sockets of type AF_LLC (IEEE 802.2 Logical
Link Control).
The getsockname() function returns the name of a socket, and uses
llc_ui_getname() when the socket type is AF_LLC.
However, llc_ui_getname() does not initialize the sllc structure
before copying data, and returning them to user. The user thus
obtains 5 bytes coming from the kernel memory.
A local attacker can therefore create an AF_LLC socket and use
getsockname(), in order to obtain 5 bytes coming from the kernel
memory.
It can be noted that since version 2.6.25, attacker’s process must
have the CAP_NET_RAW capability to create an AF_LLC socket.
CHARACTERISTICS
Identifiers: BID-36126, VIGILANCE-VUL-8975
http://vigilance.fr/vulnerability/Linux-kernel-memory-reading-via-AF-LLC-8975