# CVE-2024-26923: af_unix: Fix garbage collector racing against connect()

Status: published. Published: 2024-04-24. Updated: 2026-11-03.

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

af_unix: Fix garbage collector racing against connect()

Garbage collector does not take into account the risk of embryo getting
enqueued during the garbage collection. If such embryo has a peer that
carries SCM_RIGHTS, two consecutive passes of scan_children() may see a
different set of children. Leading to an incorrectly elevated inflight
count, and then a dangling pointer within the gc_inflight_list.

sockets are AF_UNIX/SOCK_STREAM
S is an unconnected socket
L is a listening in-flight socket bound to addr, not in fdtable
V's fd will be passed via sendmsg(), gets inflight count bumped

connect(S, addr)	sendmsg(S, [V]); close(V)	__unix_gc()
----------------	-------------------------	-----------

NS = unix_create1()
skb1 = sock_wmalloc(NS)
L = unix_find_other(addr)
unix_state_lock(L)
unix_peer(S) = NS
			// V count=1 inflight=0

 			NS = unix_peer(S)
 			skb2 = sock_alloc()
			skb_queue_tail(NS, skb2[V])

			// V became in-flight
			// V count=2 inflight=1

			close(V)

			// V count=1 inflight=1
			// GC candidate condition met

						for u in gc_inflight_list:
						  if (total_refs == inflight_refs)
						    add u to gc_candidates

						// gc_candidates={L, V}

						for u in gc_candidates:
						  scan_children(u, dec_inflight)

						// embryo (skb1) was not
						// reachable from L yet, so V's
						// inflight remains unchanged
__skb_queue_tail(L, skb1)
unix_state_unlock(L)
						for u in gc_candidates:
						  if (u.inflight)
						    scan_children(u, inc_inflight_move_tail)

						// V count=1 inflight=2 (!)

If there is a GC-candidate listening socket, lock/unlock its state. This
makes GC wait until the end of any ongoing connect() to that socket. After
flipping the lock, a possibly SCM-laden embryo is already enqueued. And if
there is another embryo coming, it can not possibly carry SCM_RIGHTS. At
this point, unix_inflight() can not happen because unix_gc_lock is already
taken. Inflight graph remains unaffected.

## Remediation

- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/2e2a03787f4f0abc0072350654ab0ef3324d9db3
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/343c5372d5e17b306db5f8f3c895539b06e3177f
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/47d8ac011fe1c9251070e1bd64cb10b48193ec51
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/507cc232ffe53a352847893f8177d276c3b532a9
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/a36ae0ec2353015f0f6762e59f4c2dbc0c906423
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/b75722be422c276b699200de90527d01c602ea7c
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/dbdf7bec5c920200077d693193f989cb1513f009
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) — https://git.kernel.org/stable/c/e76c2678228f6aec74b305ae30c9374cc2f28a51
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://git.kernel.org/stable/c/2e2a03787f4f0abc0072350654ab0ef3324d9db3
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://git.kernel.org/stable/c/343c5372d5e17b306db5f8f3c895539b06e3177f
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://git.kernel.org/stable/c/47d8ac011fe1c9251070e1bd64cb10b48193ec51
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://git.kernel.org/stable/c/507cc232ffe53a352847893f8177d276c3b532a9
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://git.kernel.org/stable/c/a36ae0ec2353015f0f6762e59f4c2dbc0c906423
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://git.kernel.org/stable/c/b75722be422c276b699200de90527d01c602ea7c
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://git.kernel.org/stable/c/dbdf7bec5c920200077d693193f989cb1513f009
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://git.kernel.org/stable/c/e76c2678228f6aec74b305ae30c9374cc2f28a51

## Affected products and versions

- Linux / Linux: ≥ 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9; < a36ae0ec2353015f0f6762e59f4c2dbc0c906423 (affected, git); ≥ 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9; < 343c5372d5e17b306db5f8f3c895539b06e3177f (affected, git); ≥ 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9; < 2e2a03787f4f0abc0072350654ab0ef3324d9db3 (affected, git); ≥ 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9; < e76c2678228f6aec74b305ae30c9374cc2f28a51 (affected, git); ≥ 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9; < b75722be422c276b699200de90527d01c602ea7c (affected, git); ≥ 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9; < 507cc232ffe53a352847893f8177d276c3b532a9 (affected, git); ≥ 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9; < dbdf7bec5c920200077d693193f989cb1513f009 (affected, git); ≥ 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9; < 47d8ac011fe1c9251070e1bd64cb10b48193ec51 (affected, git). Source: CNA: Linux
- Linux / Linux: 2.6.23 (affected); ≥ 0; < 2.6.23 (unaffected, semver); ≥ 4.19.314; ≤ 4.19.* (unaffected, semver); ≥ 5.4.275; ≤ 5.4.* (unaffected, semver); ≥ 5.10.216; ≤ 5.10.* (unaffected, semver); ≥ 5.15.156; ≤ 5.15.* (unaffected, semver); ≥ 6.1.87; ≤ 6.1.* (unaffected, semver); ≥ 6.6.28; ≤ 6.6.* (unaffected, semver); ≥ 6.8.7; ≤ 6.8.* (unaffected, semver); ≥ 6.9; ≤ * (unaffected, original_commit_for_fix). Source: CNA: Linux
- Siemens / RUGGEDCOM RST2428P: ≥ 0; < V3.1 (affected, custom). Source: ADP: siemens-SADP
- Siemens / SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family: ≥ 0; < * (unaffected, custom). Source: ADP: siemens-SADP
- Siemens / SCALANCE XCM-/XRM-/XCH-/XRH-300 family: ≥ 0; < V3.1 (affected, custom). Source: ADP: siemens-SADP
- Siemens / SIMATIC S7-1500 CPU 1518-4 PN/DP MFP: ≥ V3.1.0; < V3.1.5 (affected, custom). Source: ADP: siemens-SADP
- Siemens / SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP: ≥ V3.1.0; < V3.1.5 (affected, custom). Source: ADP: siemens-SADP
- Siemens / SIMATIC S7-1500 TM MFP - GNU/Linux subsystem: ≥ 0; < V1.1.1 (affected, custom). Source: ADP: siemens-SADP
- Siemens / SIPLUS S7-1500 CPU 1518-4 PN/DP MFP: ≥ V3.1.0; < V3.1.5 (affected, custom). Source: ADP: siemens-SADP

## NVD configuration conditions

Affected CPE matches depend on the following AND/OR and negation conditions:

```json
[
  {
    "negate": false,
    "nodes": [
      {
        "cpeMatch": [
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "4.19.314",
            "versionStartIncluding": "2.6.23",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "5.4.275",
            "versionStartIncluding": "4.20",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "5.10.216",
            "versionStartIncluding": "5.5",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "5.15.156",
            "versionStartIncluding": "5.11",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.1.87",
            "versionStartIncluding": "5.16",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.6.28",
            "versionStartIncluding": "6.2",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.8.7",
            "versionStartIncluding": "6.7",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:6.9:rc1:*:*:*:*:*:*",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:*",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:6.9:rc3:*:*:*:*:*:*",
            "vulnerable": true
          }
        ],
        "negate": false,
        "operator": "OR"
      }
    ],
    "operator": "OR"
  },
  {
    "negate": false,
    "nodes": [
      {
        "cpeMatch": [
          {
            "criteria": "cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*",
            "vulnerable": true
          }
        ],
        "negate": false,
        "operator": "OR"
      }
    ],
    "operator": "OR"
  }
]
```

## Severity and prioritization

- CVSS 3.1: 7.8 (high); CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H; source: CNA: Linux

- CVSS 3.1: 4.7 (medium); CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H; source: NVD: nvd@nist.gov

- CVSS 3.1: 7.8 (high); CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H; source: NVD: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

- CISA KEV: No listing in collected sources

- EPSS: 0.21% as of 2026-11-03; percentile 10.86%

- SSVC: exploitation none; automatable no; technical impact total; source ADP: CISA-ADP

- Weaknesses: CWE-362

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://git.kernel.org/stable/c/a36ae0ec2353015f0f6762e59f4c2dbc0c906423 (CNA: Linux)

- https://git.kernel.org/stable/c/343c5372d5e17b306db5f8f3c895539b06e3177f (CNA: Linux)

- https://git.kernel.org/stable/c/2e2a03787f4f0abc0072350654ab0ef3324d9db3 (CNA: Linux)

- https://git.kernel.org/stable/c/e76c2678228f6aec74b305ae30c9374cc2f28a51 (CNA: Linux)

- https://git.kernel.org/stable/c/b75722be422c276b699200de90527d01c602ea7c (CNA: Linux)

- https://git.kernel.org/stable/c/507cc232ffe53a352847893f8177d276c3b532a9 (CNA: Linux)

- https://git.kernel.org/stable/c/dbdf7bec5c920200077d693193f989cb1513f009 (CNA: Linux)

- https://git.kernel.org/stable/c/47d8ac011fe1c9251070e1bd64cb10b48193ec51 (CNA: Linux)

- https://git.kernel.org/stable/c/a36ae0ec2353015f0f6762e59f4c2dbc0c906423 (ADP: CVE; x_transferred)

- https://git.kernel.org/stable/c/343c5372d5e17b306db5f8f3c895539b06e3177f (ADP: CVE; x_transferred)

- https://git.kernel.org/stable/c/2e2a03787f4f0abc0072350654ab0ef3324d9db3 (ADP: CVE; x_transferred)

- https://git.kernel.org/stable/c/e76c2678228f6aec74b305ae30c9374cc2f28a51 (ADP: CVE; x_transferred)

- https://git.kernel.org/stable/c/b75722be422c276b699200de90527d01c602ea7c (ADP: CVE; x_transferred)

- https://git.kernel.org/stable/c/507cc232ffe53a352847893f8177d276c3b532a9 (ADP: CVE; x_transferred)

- https://git.kernel.org/stable/c/dbdf7bec5c920200077d693193f989cb1513f009 (ADP: CVE; x_transferred)

- https://git.kernel.org/stable/c/47d8ac011fe1c9251070e1bd64cb10b48193ec51 (ADP: CVE; x_transferred)

- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html (ADP: CVE; x_transferred)

- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html (ADP: CVE; x_transferred)

- https://cert-portal.siemens.com/productcert/html/ssa-398330.html (ADP: siemens-SADP)

- https://cert-portal.siemens.com/productcert/html/ssa-265688.html (ADP: siemens-SADP)

- https://cert-portal.siemens.com/productcert/html/ssa-613116.html (ADP: siemens-SADP)

- https://git.kernel.org/stable/c/2e2a03787f4f0abc0072350654ab0ef3324d9db3 (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/343c5372d5e17b306db5f8f3c895539b06e3177f (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/47d8ac011fe1c9251070e1bd64cb10b48193ec51 (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/507cc232ffe53a352847893f8177d276c3b532a9 (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/a36ae0ec2353015f0f6762e59f4c2dbc0c906423 (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/b75722be422c276b699200de90527d01c602ea7c (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/dbdf7bec5c920200077d693193f989cb1513f009 (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/e76c2678228f6aec74b305ae30c9374cc2f28a51 (416baaa9-dc9f-4396-8d5f-8c081fb06d67; Patch)

- https://git.kernel.org/stable/c/2e2a03787f4f0abc0072350654ab0ef3324d9db3 (af854a3a-2127-422b-91ae-364da2661108; Patch)

- https://git.kernel.org/stable/c/343c5372d5e17b306db5f8f3c895539b06e3177f (af854a3a-2127-422b-91ae-364da2661108; Patch)

- https://git.kernel.org/stable/c/47d8ac011fe1c9251070e1bd64cb10b48193ec51 (af854a3a-2127-422b-91ae-364da2661108; Patch)

- https://git.kernel.org/stable/c/507cc232ffe53a352847893f8177d276c3b532a9 (af854a3a-2127-422b-91ae-364da2661108; Patch)

- https://git.kernel.org/stable/c/a36ae0ec2353015f0f6762e59f4c2dbc0c906423 (af854a3a-2127-422b-91ae-364da2661108; Patch)

- https://git.kernel.org/stable/c/b75722be422c276b699200de90527d01c602ea7c (af854a3a-2127-422b-91ae-364da2661108; Patch)

- https://git.kernel.org/stable/c/dbdf7bec5c920200077d693193f989cb1513f009 (af854a3a-2127-422b-91ae-364da2661108; Patch)

- https://git.kernel.org/stable/c/e76c2678228f6aec74b305ae30c9374cc2f28a51 (af854a3a-2127-422b-91ae-364da2661108; Patch)

- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html (af854a3a-2127-422b-91ae-364da2661108; Third Party Advisory)

- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html (af854a3a-2127-422b-91ae-364da2661108; Third Party Advisory)

- https://cert-portal.siemens.com/productcert/html/ssa-265688.html (0b142b55-0307-4c5a-b3c9-f314f3fb7c5e)

- https://cert-portal.siemens.com/productcert/html/ssa-398330.html (0b142b55-0307-4c5a-b3c9-f314f3fb7c5e)

- https://cert-portal.siemens.com/productcert/html/ssa-613116.html (0b142b55-0307-4c5a-b3c9-f314f3fb7c5e)

## Provenance

- CNA: Linux: https://www.cve.org/CVERecord?id=CVE-2024-26923; retrieved 2026-11-03; source updated 2026-11-03

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-26923; retrieved 2026-11-04; source updated 2026-11-03

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2024-26923; retrieved 2026-11-03; source updated Not reported

Revision: d3d4b642cb2b6534b009c870363f3330bb4067180d74cf9a7e32b951551d9090

Canonical: https://y2.dev/cve/CVE-2024-26923

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.