llc: fix skb UAF and leaks on llc_mac_hdr_init() failure
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: llc: fix skb UAF and leaks on llc_mac_hdr_init() failure In llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr(), if llc_mac_hdr_init() fails, kfree_skb(skb) is called instead of kfree_skb(nskb). This leaks the newly allocated nskb, reads from the freed skb via LLC_I_GET_NR(pdu), and double-frees skb when llc_conn_state_process() drops its reference. In llc_sap_action_send_xid_r() and llc_sap_action_send_test_r(), nskb is leaked if llc_mac_hdr_init() returns an error. Free nskb in all three error paths.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in fec0fe6838a7f45175667701fb51abb23a6ffb1e; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in b859ba18b5a1067f71db5618c6a4a70d55fa308b; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 8b855b645841b5a04e20339a22bb6d593c9b790d; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in d360b31f1a3666579422872aa7d1a751e20b76f9; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 060f827aa3dc47939ee306da715cd6700d129616; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 41dcae82bece9f106b4dff0ee777bba8d157c8a8; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in cb3528ad8bb46fa6252f5d14ced7febddc18515d; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 72f9dd522f8d6c5a00be9695c7bb74631eb5069e
- Linux Linux
2.6.12
- KernelLinux
From 2.6.12 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9
References 8
git.kernel.org
- stable/c/fec0fe6838a7f45175667701fb51abb23a6ffb1e
- stable/c/b859ba18b5a1067f71db5618c6a4a70d55fa308b
- stable/c/8b855b645841b5a04e20339a22bb6d593c9b790d
- stable/c/d360b31f1a3666579422872aa7d1a751e20b76f9
- stable/c/060f827aa3dc47939ee306da715cd6700d129616
- stable/c/41dcae82bece9f106b4dff0ee777bba8d157c8a8
- stable/c/cb3528ad8bb46fa6252f5d14ced7febddc18515d
- stable/c/72f9dd522f8d6c5a00be9695c7bb74631eb5069e