{"id":"CVE-2022-49114","state":"PUBLISHED","title":"scsi: libfc: Fix use after free in fc_exch_abts_resp()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: libfc: Fix use after free in fc_exch_abts_resp()\n\nfc_exch_release(ep) will decrease the ep's reference count. When the\nreference count reaches zero, it is freed. But ep is still used in the\nfollowing code, which will lead to a use after free.\n\nReturn after the fc_exch_release() call to avoid use after free.","publishedAt":"2025-02-26T01:54:58.172Z","updatedAt":"2026-08-05T08:53:58.360Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"4a131d4ea8b581ac9b01d3a72754db4848be3232","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"499d198494e77b6533251b9b909baf5c101129cb","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"6044ad64f41c87382cfeeca281573d1886d80cbe","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"5cf2ce8967b0d98c8cfa4dc42ef4fcf080f5c836","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"1d7effe5fff9d28e45e18ac3a564067c7ddfe898","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"f581df412bc45c95176e3c808ee2839c05b2ab0c","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"87909291762d08fdb60d19069d7a89b5b308d0ef","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"412dd8299b02e4410fe77b8396953c1a8dde183a","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"271add11994ba1a334859069367e04d2be2ebdd4","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/libfc/fc_exch.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.29","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.29","versionType":"semver"},{"version":"4.9.311","status":"unaffected","lessThanOrEqual":"4.9.*","versionType":"semver"},{"version":"4.14.276","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.238","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.189","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.111","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.34","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.16.20","status":"unaffected","lessThanOrEqual":"5.16.*","versionType":"semver"},{"version":"5.17.3","status":"unaffected","lessThanOrEqual":"5.17.*","versionType":"semver"},{"version":"5.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/libfc/fc_exch.c"]}],"references":["https://git.kernel.org/stable/c/4a131d4ea8b581ac9b01d3a72754db4848be3232","https://git.kernel.org/stable/c/499d198494e77b6533251b9b909baf5c101129cb","https://git.kernel.org/stable/c/6044ad64f41c87382cfeeca281573d1886d80cbe","https://git.kernel.org/stable/c/5cf2ce8967b0d98c8cfa4dc42ef4fcf080f5c836","https://git.kernel.org/stable/c/1d7effe5fff9d28e45e18ac3a564067c7ddfe898","https://git.kernel.org/stable/c/f581df412bc45c95176e3c808ee2839c05b2ab0c","https://git.kernel.org/stable/c/87909291762d08fdb60d19069d7a89b5b308d0ef","https://git.kernel.org/stable/c/412dd8299b02e4410fe77b8396953c1a8dde183a","https://git.kernel.org/stable/c/271add11994ba1a334859069367e04d2be2ebdd4"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49114.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49114","state":"PUBLISHED","datePublished":"2025-02-26T01:54:58.172Z","dateUpdated":"2026-08-05T08:53:58.360Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-02-26T01:49:39.262Z"},"containers":{"cna":{"title":"scsi: libfc: Fix use after free in fc_exch_abts_resp()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: libfc: Fix use after free in fc_exch_abts_resp()\n\nfc_exch_release(ep) will decrease the ep's reference count. When the\nreference count reaches zero, it is freed. But ep is still used in the\nfollowing code, which will lead to a use after free.\n\nReturn after the fc_exch_release() call to avoid use after free."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"4a131d4ea8b581ac9b01d3a72754db4848be3232","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"499d198494e77b6533251b9b909baf5c101129cb","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"6044ad64f41c87382cfeeca281573d1886d80cbe","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"5cf2ce8967b0d98c8cfa4dc42ef4fcf080f5c836","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"1d7effe5fff9d28e45e18ac3a564067c7ddfe898","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"f581df412bc45c95176e3c808ee2839c05b2ab0c","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"87909291762d08fdb60d19069d7a89b5b308d0ef","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"412dd8299b02e4410fe77b8396953c1a8dde183a","versionType":"git"},{"version":"42e9a92fe6a9095bd68a379aaec7ad2be0337f7a","status":"affected","lessThan":"271add11994ba1a334859069367e04d2be2ebdd4","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/libfc/fc_exch.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.29","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.29","versionType":"semver"},{"version":"4.9.311","status":"unaffected","lessThanOrEqual":"4.9.*","versionType":"semver"},{"version":"4.14.276","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.238","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.189","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.111","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.34","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.16.20","status":"unaffected","lessThanOrEqual":"5.16.*","versionType":"semver"},{"version":"5.17.3","status":"unaffected","lessThanOrEqual":"5.17.*","versionType":"semver"},{"version":"5.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/libfc/fc_exch.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/4a131d4ea8b581ac9b01d3a72754db4848be3232"},{"url":"https://git.kernel.org/stable/c/499d198494e77b6533251b9b909baf5c101129cb"},{"url":"https://git.kernel.org/stable/c/6044ad64f41c87382cfeeca281573d1886d80cbe"},{"url":"https://git.kernel.org/stable/c/5cf2ce8967b0d98c8cfa4dc42ef4fcf080f5c836"},{"url":"https://git.kernel.org/stable/c/1d7effe5fff9d28e45e18ac3a564067c7ddfe898"},{"url":"https://git.kernel.org/stable/c/f581df412bc45c95176e3c808ee2839c05b2ab0c"},{"url":"https://git.kernel.org/stable/c/87909291762d08fdb60d19069d7a89b5b308d0ef"},{"url":"https://git.kernel.org/stable/c/412dd8299b02e4410fe77b8396953c1a8dde183a"},{"url":"https://git.kernel.org/stable/c/271add11994ba1a334859069367e04d2be2ebdd4"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - The vulnerable path processes Fibre Channel BLS frames (BA_ACC/BA_RJT) received over an FC SAN fabric or FCoE (ETH_P_FCOE) L2 segment from a peer on the same fabric/VLAN, which is adjacent-network topology, not Internet-routable IP.\nAC:L - An adjacent peer can induce exchange timeouts (delaying responses) so the host sends ABTS with a pending timer, then deliver a crafted BA_ACC/BA_RJT while that timer is still queued, reliably hitting the cancel-and-release path.\nPR:N - fc_exch_recv and the FCoE/HBA receive path accept frames from fabric peers with no OS credential or capability check; fabric zoning only constrains topology, not authenticated privileges on this code path.\nUI:N - Exploitation is fully driven by attacker-sent FC/FCoE frames against an already-configured initiator; no separate victim action such as mounting a volume or confirming a prompt is required.\nS:U - The use-after-free corrupts host kernel exchange/slab state within the same OS security authority and does not cross a VM, IOMMU, or sandbox boundary.\nC:H - Use-after-free of heap-allocated struct fc_exch lets an attacker reclaim the object and obtain arbitrary kernel-memory read primitives, which per guidance is High confidentiality impact.\nI:H - struct fc_exch embeds callable resp and destructor function pointers invoked from this path, so UAF plus heap spray enables arbitrary write and control-flow hijacking.\nA:H - Use-after-free of the exchange object causes kernel oops/panic even when not fully exploited, which is High availability impact and can be retried by sending further ABTS responses."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T08:53:58.360Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"4.9.311"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"4.14.276"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"4.19.238"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.4.189"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.10.111"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.15.34"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.16.20"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.17.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.18"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"id":"CVE-2022-49114","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2025-03-04T18:03:27.178498Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","lang":"en","type":"CWE","description":"CWE-416 Use After Free"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-03-04T18:07:17.816Z"}}]}}}