{"api_version":"1","generated_at":"2026-08-24T12:31:03+00:00","cve":"CVE-2024-56694","urls":{"html":"https://cve.report/CVE-2024-56694","api":"https://cve.report/api/cve/CVE-2024-56694.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2024-56694","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2024-56694"},"summary":{"title":"bpf: fix recursive lock when verdict program return SK_PASS","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: fix recursive lock when verdict program return SK_PASS\n\nWhen the stream_verdict program returns SK_PASS, it places the received skb\ninto its own receive queue, but a recursive lock eventually occurs, leading\nto an operating system deadlock. This issue has been present since v6.9.\n\n'''\nsk_psock_strp_data_ready\n    write_lock_bh(&sk->sk_callback_lock)\n    strp_data_ready\n      strp_read_sock\n        read_sock -> tcp_read_sock\n          strp_recv\n            cb.rcv_msg -> sk_psock_strp_read\n              # now stream_verdict return SK_PASS without peer sock assign\n              __SK_PASS = sk_psock_map_verd(SK_PASS, NULL)\n              sk_psock_verdict_apply\n                sk_psock_skb_ingress_self\n                  sk_psock_skb_ingress_enqueue\n                    sk_psock_data_ready\n                      read_lock_bh(&sk->sk_callback_lock) <= dead lock\n\n'''\n\nThis topic has been discussed before, but it has not been fixed.\nPrevious discussion:\nhttps://lore.kernel.org/all/6684a5864ec86_403d20898@john.notmuch","state":"PUBLISHED","assigner":"Linux","published_at":"2024-12-28 10:15:15","updated_at":"2026-08-04 11:22:22"},"problem_types":["CWE-667"],"metrics":[{"version":"3.1","source":"nvd@nist.gov","type":"Primary","score":"5.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","baseScore":5.5,"baseSeverity":"MEDIUM","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"baseScore":7.5,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html","name":"https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6694f7acd625ed854bf6342926e771d65dad7f69","name":"https://git.kernel.org/stable/c/6694f7acd625ed854bf6342926e771d65dad7f69","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f84c5ef6ca23cc2f72f3b830d74f67944684bb05","name":"https://git.kernel.org/stable/c/f84c5ef6ca23cc2f72f3b830d74f67944684bb05","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/386efa339e08563dd33e83bc951aea5d407fe578","name":"https://git.kernel.org/stable/c/386efa339e08563dd33e83bc951aea5d407fe578","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/da2bc8a0c8f3ac66fdf980fc59936f851a083561","name":"https://git.kernel.org/stable/c/da2bc8a0c8f3ac66fdf980fc59936f851a083561","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html","name":"https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/01f1b88acfd79103da0610b45471f6c88ea98d72","name":"https://git.kernel.org/stable/c/01f1b88acfd79103da0610b45471f6c88ea98d72","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8ca2a1eeadf09862190b2810697702d803ceef2d","name":"https://git.kernel.org/stable/c/8ca2a1eeadf09862190b2810697702d803ceef2d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/221109ba2127eabd0aa64718543638b58b15df56","name":"https://git.kernel.org/stable/c/221109ba2127eabd0aa64718543638b58b15df56","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2024-56694","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-56694","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c0809c128dad4c3413818384eb06a341633db973 221109ba2127eabd0aa64718543638b58b15df56 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5965bc7535fb87510b724e5465ccc1a1cf00916d 6694f7acd625ed854bf6342926e771d65dad7f69 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 39dc9e1442385d6e9be0b6491ee488dddd55ae27 386efa339e08563dd33e83bc951aea5d407fe578 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected b397a0ab8582c533ec0c6b732392f141fc364f87 da2bc8a0c8f3ac66fdf980fc59936f851a083561 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6648e613226e18897231ab5e42ffc29e63fa3365 01f1b88acfd79103da0610b45471f6c88ea98d72 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6648e613226e18897231ab5e42ffc29e63fa3365 f84c5ef6ca23cc2f72f3b830d74f67944684bb05 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6648e613226e18897231ab5e42ffc29e63fa3365 8ca2a1eeadf09862190b2810697702d803ceef2d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 772d5729b5ff0df0d37b32db600ce635b2172f80 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.10.223 5.10.233 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.15.159 5.15.174 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.1.91 6.1.120 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.6.31 6.6.64 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.8.10 6.9 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.9","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.9 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.233 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.174 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.120 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.64 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.11.11 6.11.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.2 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.13 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2024","cve_id":"56694","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"o","cpe4":"linux","cpe5":"linux_kernel","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"providerMetadata":{"dateUpdated":"2025-11-03T20:52:43.997Z","orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE"},"references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html"},{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"}],"title":"CVE Program Container"}],"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/core/skmsg.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"221109ba2127eabd0aa64718543638b58b15df56","status":"affected","version":"c0809c128dad4c3413818384eb06a341633db973","versionType":"git"},{"lessThan":"6694f7acd625ed854bf6342926e771d65dad7f69","status":"affected","version":"5965bc7535fb87510b724e5465ccc1a1cf00916d","versionType":"git"},{"lessThan":"386efa339e08563dd33e83bc951aea5d407fe578","status":"affected","version":"39dc9e1442385d6e9be0b6491ee488dddd55ae27","versionType":"git"},{"lessThan":"da2bc8a0c8f3ac66fdf980fc59936f851a083561","status":"affected","version":"b397a0ab8582c533ec0c6b732392f141fc364f87","versionType":"git"},{"lessThan":"01f1b88acfd79103da0610b45471f6c88ea98d72","status":"affected","version":"6648e613226e18897231ab5e42ffc29e63fa3365","versionType":"git"},{"lessThan":"f84c5ef6ca23cc2f72f3b830d74f67944684bb05","status":"affected","version":"6648e613226e18897231ab5e42ffc29e63fa3365","versionType":"git"},{"lessThan":"8ca2a1eeadf09862190b2810697702d803ceef2d","status":"affected","version":"6648e613226e18897231ab5e42ffc29e63fa3365","versionType":"git"},{"status":"affected","version":"772d5729b5ff0df0d37b32db600ce635b2172f80","versionType":"git"},{"lessThan":"5.10.233","status":"affected","version":"5.10.223","versionType":"semver"},{"lessThan":"5.15.174","status":"affected","version":"5.15.159","versionType":"semver"},{"lessThan":"6.1.120","status":"affected","version":"6.1.91","versionType":"semver"},{"lessThan":"6.6.64","status":"affected","version":"6.6.31","versionType":"semver"},{"lessThan":"6.9","status":"affected","version":"6.8.10","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/core/skmsg.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.9"},{"lessThan":"6.9","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.233","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.174","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.120","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.64","versionType":"semver"},{"lessThanOrEqual":"6.11.*","status":"unaffected","version":"6.11.11","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.2","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"6.13","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.233","versionStartIncluding":"5.10.223","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.174","versionStartIncluding":"5.15.159","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.120","versionStartIncluding":"6.1.91","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.64","versionStartIncluding":"6.6.31","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.11.11","versionStartIncluding":"6.9","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.2","versionStartIncluding":"6.9","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.13","versionStartIncluding":"6.9","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8.10","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: fix recursive lock when verdict program return SK_PASS\n\nWhen the stream_verdict program returns SK_PASS, it places the received skb\ninto its own receive queue, but a recursive lock eventually occurs, leading\nto an operating system deadlock. This issue has been present since v6.9.\n\n'''\nsk_psock_strp_data_ready\n    write_lock_bh(&sk->sk_callback_lock)\n    strp_data_ready\n      strp_read_sock\n        read_sock -> tcp_read_sock\n          strp_recv\n            cb.rcv_msg -> sk_psock_strp_read\n              # now stream_verdict return SK_PASS without peer sock assign\n              __SK_PASS = sk_psock_map_verd(SK_PASS, NULL)\n              sk_psock_verdict_apply\n                sk_psock_skb_ingress_self\n                  sk_psock_skb_ingress_enqueue\n                    sk_psock_data_ready\n                      read_lock_bh(&sk->sk_callback_lock) <= dead lock\n\n'''\n\nThis topic has been discussed before, but it has not been fixed.\nPrevious discussion:\nhttps://lore.kernel.org/all/6684a5864ec86_403d20898@john.notmuch"}],"metrics":[{"cvssV3_1":{"baseScore":7.5,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"providerMetadata":{"dateUpdated":"2026-08-04T09:39:39.845Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/221109ba2127eabd0aa64718543638b58b15df56"},{"url":"https://git.kernel.org/stable/c/6694f7acd625ed854bf6342926e771d65dad7f69"},{"url":"https://git.kernel.org/stable/c/386efa339e08563dd33e83bc951aea5d407fe578"},{"url":"https://git.kernel.org/stable/c/da2bc8a0c8f3ac66fdf980fc59936f851a083561"},{"url":"https://git.kernel.org/stable/c/01f1b88acfd79103da0610b45471f6c88ea98d72"},{"url":"https://git.kernel.org/stable/c/f84c5ef6ca23cc2f72f3b830d74f67944684bb05"},{"url":"https://git.kernel.org/stable/c/8ca2a1eeadf09862190b2810697702d803ceef2d"}],"title":"bpf: fix recursive lock when verdict program return SK_PASS","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2024-56694","datePublished":"2024-12-28T09:46:18.826Z","dateReserved":"2024-12-27T15:00:39.849Z","dateUpdated":"2026-08-04T09:39:39.845Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2024-12-28 10:15:15","lastModifiedDate":"2026-08-04 11:22:22","problem_types":["CWE-667"],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6},{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","baseScore":5.5,"baseSeverity":"MEDIUM","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":1.8,"impactScore":3.6}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.223","versionEndExcluding":"5.11","matchCriteriaId":"CA30912E-AC28-4CAA-B0BF-82A5ABF6555D"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.159","versionEndExcluding":"5.15.174","matchCriteriaId":"AE68EECA-B500-4C8F-BA03-6297422D3BE3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.91","versionEndExcluding":"6.1.120","matchCriteriaId":"D7525FB8-F6DA-4FBF-A1B7-66F009E2F1FE"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.31","versionEndExcluding":"6.6.64","matchCriteriaId":"C14BE86F-46F8-45CE-942E-3CB49D3AAB95"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8.10","versionEndExcluding":"6.11.11","matchCriteriaId":"DC02F628-9D7C-48E7-93BD-4A25BD2C74CF"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12","versionEndExcluding":"6.12.2","matchCriteriaId":"D8882B1B-2ABC-4838-AC1D-DBDBB5764776"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2024","CveId":"56694","Ordinal":"1","Title":"bpf: fix recursive lock when verdict program return SK_PASS","CVE":"CVE-2024-56694","Year":"2024"},"notes":[{"CveYear":"2024","CveId":"56694","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: fix recursive lock when verdict program return SK_PASS\n\nWhen the stream_verdict program returns SK_PASS, it places the received skb\ninto its own receive queue, but a recursive lock eventually occurs, leading\nto an operating system deadlock. This issue has been present since v6.9.\n\n'''\nsk_psock_strp_data_ready\n    write_lock_bh(&sk->sk_callback_lock)\n    strp_data_ready\n      strp_read_sock\n        read_sock -> tcp_read_sock\n          strp_recv\n            cb.rcv_msg -> sk_psock_strp_read\n              # now stream_verdict return SK_PASS without peer sock assign\n              __SK_PASS = sk_psock_map_verd(SK_PASS, NULL)\n              sk_psock_verdict_apply\n                sk_psock_skb_ingress_self\n                  sk_psock_skb_ingress_enqueue\n                    sk_psock_data_ready\n                      read_lock_bh(&sk->sk_callback_lock) <= dead lock\n\n'''\n\nThis topic has been discussed before, but it has not been fixed.\nPrevious discussion:\nhttps://lore.kernel.org/all/6684a5864ec86_403d20898@john.notmuch","Type":"Description","Title":"bpf: fix recursive lock when verdict program return SK_PASS"}]}}}