mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	nfc: Ensure presence of required attributes in the activate_target handler
Check that the NFC_ATTR_TARGET_INDEX and NFC_ATTR_PROTOCOLS attributes (in addition to NFC_ATTR_DEVICE_INDEX) are provided by the netlink client prior to accessing them. This prevents potential unhandled NULL pointer dereference exceptions which can be triggered by malicious user-mode programs, if they omit one or both of these attributes. Signed-off-by: Mateusz Jurczyk <mjurczyk@google.com> Acked-by: Kees Cook <keescook@chromium.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
		
							parent
							
								
									608c4adfca
								
							
						
					
					
						commit
						a0323b979f
					
				
					 1 changed files with 3 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -907,7 +907,9 @@ static int nfc_genl_activate_target(struct sk_buff *skb, struct genl_info *info)
 | 
			
		|||
	u32 device_idx, target_idx, protocol;
 | 
			
		||||
	int rc;
 | 
			
		||||
 | 
			
		||||
	if (!info->attrs[NFC_ATTR_DEVICE_INDEX])
 | 
			
		||||
	if (!info->attrs[NFC_ATTR_DEVICE_INDEX] ||
 | 
			
		||||
	    !info->attrs[NFC_ATTR_TARGET_INDEX] ||
 | 
			
		||||
	    !info->attrs[NFC_ATTR_PROTOCOLS])
 | 
			
		||||
		return -EINVAL;
 | 
			
		||||
 | 
			
		||||
	device_idx = nla_get_u32(info->attrs[NFC_ATTR_DEVICE_INDEX]);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue