On Mon, Sep 17, 2012 at 9:16 AM, Steffen Klassert
[off-list ref] wrote:
On Thu, Sep 13, 2012 at 11:41:26PM +0200, Mathias Krause wrote:
quoted
When dump_one_state() returns an error, e.g. because of a too small
buffer to dump the whole xfrm state, xfrm_state_netlink() returns NULL
instead of an error pointer. But its callers expect an error pointer
and therefore continue to operate on a NULL skbuff.
This could lead to a privilege escalation (execution of user code in
kernel context) if the attacker has CAP_NET_ADMIN and is able to map
address 0.
Or it simply crashes with a NULL pointer dereference.
..while holding the xfrm_cfg_mutex, therefore effectively disabling
the XFRM netlink interface. So it's at least a DOS in that case ;)
Regards,
Mathias