net: fix a kernel infoleak in x25 module
Stack object "dte_facilities" is allocated in x25_rx_call_request(), which is supposed to be initialized in x25_negotiate_facilities. However, 5 fields (8 bytes in total) are not initialized. This object is then copied to userland via copy_to_user, thus infoleak occurs. Signed-off-by: Kangjie Lu <kjlu@gatech.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7fa816b92c
commit
79e4865032
|
@ -277,6 +277,7 @@ int x25_negotiate_facilities(struct sk_buff *skb, struct sock *sk,
|
|||
|
||||
memset(&theirs, 0, sizeof(theirs));
|
||||
memcpy(new, ours, sizeof(*new));
|
||||
memset(dte, 0, sizeof(*dte));
|
||||
|
||||
len = x25_parse_facilities(skb, &theirs, dte, &x25->vc_facil_mask);
|
||||
if (len < 0)
|
||||
|
|
Loading…
Reference in New Issue
Block a user