CVE-2022-50656

Summary

In the Linux kernel, the following vulnerability has been resolved:

nfc: pn533: Clear nfc_target before being used

Fix a slab-out-of-bounds read that occurs in nla_put() called from nfc_genl_send_target() when target->sensb_res_len, which is duplicated from an nfc_target in pn533, is too large as the nfc_target is not properly initialized and retains garbage values. Clear nfc_targets with memset() before they are used.

Found by a modified version of syzkaller.

BUG: KASAN: slab-out-of-bounds in nla_put Call Trace: memcpy nla_put nfc_genl_dump_targets genl_lock_dumpit netlink_dump __netlink_dump_start genl_family_rcv_msg_dumpit genl_rcv_msg netlink_rcv_skb genl_rcv netlink_unicast netlink_sendmsg sock_sendmsg ____sys_sendmsg ___sys_sendmsg __sys_sendmsg do_syscall_64

Affected Software

VendorProductVersion RangeStatus
LinuxLinux361f3cb7f9cfdb82c80926d0e7843c098c034545 < 9da4a0411f3455e3885831d0758bee3e3d565bbcaffected
LinuxLinux361f3cb7f9cfdb82c80926d0e7843c098c034545 < 61a7e15d55fae329a245535c3bac494e401005b8affected
LinuxLinux361f3cb7f9cfdb82c80926d0e7843c098c034545 < bef2f478513e7367ef3b05441f6afca981de29beaffected
LinuxLinux361f3cb7f9cfdb82c80926d0e7843c098c034545 < 8bddef54cbe9ede5ac7478f1e1e968fcfe7e6f03affected
LinuxLinux361f3cb7f9cfdb82c80926d0e7843c098c034545 < aea9e64dec2cc6cd742e07ecd4e6236fc76b389baffected
LinuxLinux361f3cb7f9cfdb82c80926d0e7843c098c034545 < aae9c24ebd901f482e6c88b6f9e0c80dc5b536d6affected
LinuxLinux361f3cb7f9cfdb82c80926d0e7843c098c034545 < 755019e37815a66bb0a23893debbd3dd640ccbd3affected
LinuxLinux361f3cb7f9cfdb82c80926d0e7843c098c034545 < e491285b4d08884b622638be8e4961eb43b0af64affected
LinuxLinux361f3cb7f9cfdb82c80926d0e7843c098c034545 < 9f28157778ede0d4f183f7ab3b46995bb400abbeaffected
LinuxLinux3.3affected
LinuxLinux0 < 3.3unaffected
LinuxLinux4.9.337 <= 4.9.*unaffected
LinuxLinux4.14.303 <= 4.14.*unaffected
LinuxLinux4.19.270 <= 4.19.*unaffected
LinuxLinux5.4.229 <= 5.4.*unaffected
LinuxLinux5.10.163 <= 5.10.*unaffected
LinuxLinux5.15.86 <= 5.15.*unaffected
LinuxLinux6.0.16 <= 6.0.*unaffected
LinuxLinux6.1.2 <= 6.1.*unaffected
LinuxLinux6.2 <= *unaffected

Weaknesses

References