{"id":"CVE-2026-98579","state":"PUBLISHED","title":"nfc: llcp: fix sdreq TLV list leak on parse/alloc/send failure","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfc: llcp: fix sdreq TLV list leak on parse/alloc/send failure\n\nnfc_genl_llc_sdreq() builds a list of TLV nodes while walking nested\nnetlink attrs, but 3 error paths (nested-attr parse failure, TLV alloc\nENOMEM, nfc_llcp_send_snl_sdreq() failure) all skip freeing what was\nalready queued.\n\nRoute them through a new free_list label, mirroring the SDRES path in\nthe same file which already does this. Harmless on the success path\ntoo -- send_snl_sdreq() drains the list as it moves nodes, so it's\nalready empty by the time free_list runs.","publishedAt":"2026-10-18T15:18:52.611Z","updatedAt":"2026-10-19T09:22:04.617Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"5b1eca82085134bd92cd3810b0ef003c91e3f668","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"d3f60a7fc291d08cd9192a3b4cd5d3a223fa7d02","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"755bfc409748d8f3df64eb0eb26926270de3dd77","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"e43ec0191c1630f41e7043ac729ea6f1b8044a7f","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"08d2c069239ab425fdd333784a6a3b3e034e4aa0","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"cbde7f5d326172d6dbb55cca0df42fa7e1ed8115","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"0b01a946b0f234f5badd25968610b585a4895f08","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"66f4300206b82b0b143ef0d9be90cd8d29f23a47","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/nfc/netlink.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.10","versionType":"semver"},{"version":"5.10.271","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.222","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.189","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.158","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.112","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.55","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.9","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/nfc/netlink.c"]}],"references":["https://git.kernel.org/stable/c/5b1eca82085134bd92cd3810b0ef003c91e3f668","https://git.kernel.org/stable/c/d3f60a7fc291d08cd9192a3b4cd5d3a223fa7d02","https://git.kernel.org/stable/c/755bfc409748d8f3df64eb0eb26926270de3dd77","https://git.kernel.org/stable/c/e43ec0191c1630f41e7043ac729ea6f1b8044a7f","https://git.kernel.org/stable/c/08d2c069239ab425fdd333784a6a3b3e034e4aa0","https://git.kernel.org/stable/c/cbde7f5d326172d6dbb55cca0df42fa7e1ed8115","https://git.kernel.org/stable/c/0b01a946b0f234f5badd25968610b585a4895f08","https://git.kernel.org/stable/c/66f4300206b82b0b143ef0d9be90cd8d29f23a47"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:43.249Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/98xxx/CVE-2026-98579.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-98579","state":"PUBLISHED","datePublished":"2026-10-18T15:18:52.611Z","dateUpdated":"2026-10-19T09:22:04.617Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-25T10:25:14.358Z"},"containers":{"cna":{"title":"nfc: llcp: fix sdreq TLV list leak on parse/alloc/send failure","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfc: llcp: fix sdreq TLV list leak on parse/alloc/send failure\n\nnfc_genl_llc_sdreq() builds a list of TLV nodes while walking nested\nnetlink attrs, but 3 error paths (nested-attr parse failure, TLV alloc\nENOMEM, nfc_llcp_send_snl_sdreq() failure) all skip freeing what was\nalready queued.\n\nRoute them through a new free_list label, mirroring the SDRES path in\nthe same file which already does this. Harmless on the success path\ntoo -- send_snl_sdreq() drains the list as it moves nodes, so it's\nalready empty by the time free_list runs."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"5b1eca82085134bd92cd3810b0ef003c91e3f668","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"d3f60a7fc291d08cd9192a3b4cd5d3a223fa7d02","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"755bfc409748d8f3df64eb0eb26926270de3dd77","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"e43ec0191c1630f41e7043ac729ea6f1b8044a7f","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"08d2c069239ab425fdd333784a6a3b3e034e4aa0","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"cbde7f5d326172d6dbb55cca0df42fa7e1ed8115","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"0b01a946b0f234f5badd25968610b585a4895f08","versionType":"git"},{"version":"d9b8d8e19b073096d3609bbd60f82148d128b555","status":"affected","lessThan":"66f4300206b82b0b143ef0d9be90cd8d29f23a47","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/nfc/netlink.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.10","versionType":"semver"},{"version":"5.10.271","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.222","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.189","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.158","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.112","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.55","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.9","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/nfc/netlink.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/5b1eca82085134bd92cd3810b0ef003c91e3f668"},{"url":"https://git.kernel.org/stable/c/d3f60a7fc291d08cd9192a3b4cd5d3a223fa7d02"},{"url":"https://git.kernel.org/stable/c/755bfc409748d8f3df64eb0eb26926270de3dd77"},{"url":"https://git.kernel.org/stable/c/e43ec0191c1630f41e7043ac729ea6f1b8044a7f"},{"url":"https://git.kernel.org/stable/c/08d2c069239ab425fdd333784a6a3b3e034e4aa0"},{"url":"https://git.kernel.org/stable/c/cbde7f5d326172d6dbb55cca0df42fa7e1ed8115"},{"url":"https://git.kernel.org/stable/c/0b01a946b0f234f5badd25968610b585a4895f08"},{"url":"https://git.kernel.org/stable/c/66f4300206b82b0b143ef0d9be90cd8d29f23a47"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T09:22:04.617Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10","versionEndExcluding":"5.10.271"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10","versionEndExcluding":"5.15.222"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10","versionEndExcluding":"6.1.189"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10","versionEndExcluding":"6.6.158"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10","versionEndExcluding":"6.12.112"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10","versionEndExcluding":"6.18.55"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10","versionEndExcluding":"7.2.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}