mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	af_key: fix info leaks in notify messages
key_notify_sa_flush() and key_notify_policy_flush() miss to initialize the sadb_msg_reserved member of the broadcasted message and thereby leak 2 bytes of heap memory to listeners. Fix that. Signed-off-by: Mathias Krause <minipli@googlemail.com> Cc: Steffen Klassert <steffen.klassert@secunet.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									a963a37d38
								
							
						
					
					
						commit
						a5cc68f3d6
					
				
					 1 changed files with 2 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1710,6 +1710,7 @@ static int key_notify_sa_flush(const struct km_event *c)
 | 
			
		|||
	hdr->sadb_msg_version = PF_KEY_V2;
 | 
			
		||||
	hdr->sadb_msg_errno = (uint8_t) 0;
 | 
			
		||||
	hdr->sadb_msg_len = (sizeof(struct sadb_msg) / sizeof(uint64_t));
 | 
			
		||||
	hdr->sadb_msg_reserved = 0;
 | 
			
		||||
 | 
			
		||||
	pfkey_broadcast(skb, GFP_ATOMIC, BROADCAST_ALL, NULL, c->net);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2699,6 +2700,7 @@ static int key_notify_policy_flush(const struct km_event *c)
 | 
			
		|||
	hdr->sadb_msg_errno = (uint8_t) 0;
 | 
			
		||||
	hdr->sadb_msg_satype = SADB_SATYPE_UNSPEC;
 | 
			
		||||
	hdr->sadb_msg_len = (sizeof(struct sadb_msg) / sizeof(uint64_t));
 | 
			
		||||
	hdr->sadb_msg_reserved = 0;
 | 
			
		||||
	pfkey_broadcast(skb_out, GFP_ATOMIC, BROADCAST_ALL, NULL, c->net);
 | 
			
		||||
	return 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue