CVE-2026-72383 (GCVE-0-2026-72383)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:56 – Updated: 2026-08-17 05:43
VLAI
Title
sctp: fix addr_wq_timer race in sctp_free_addr_wq()
Summary
In the Linux kernel, the following vulnerability has been resolved: sctp: fix addr_wq_timer race in sctp_free_addr_wq() sctp_free_addr_wq() previously removed addr_wq_timer using timer_delete() while holding addr_wq_lock. However, timer_delete() does not guarantee that a currently running timer handler has completed. This allows a race with sctp_addr_wq_timeout_handler(), where the handler may still run after addr_waitq has been freed, acquire addr_wq_lock, and access freed memory, leading to a use-after-free. Fix this by calling timer_shutdown_sync() before taking addr_wq_lock. This guarantees that any in-flight timer handler has finished and prevents the timer from being re-armed during teardown, making subsequent cleanup safe.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 4db67e808640e3934d82ce61ee8e2e89fd877ba8 , < a8323fb2ab6cd6978f359daeed6688e0cadf32ba (git)
Affected: 4db67e808640e3934d82ce61ee8e2e89fd877ba8 , < c3e5cac47519d77ad36b9c03a1df1536aaa0c4a1 (git)
Affected: 4db67e808640e3934d82ce61ee8e2e89fd877ba8 , < 976c19de0f22a857ba0112f39635f8fd7a257568 (git)
guessed Create a notification for this product.
Linux Linux Affected: 3.7
Unaffected: 0 , < 3.7 (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/sctp/protocol.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a8323fb2ab6cd6978f359daeed6688e0cadf32ba",
              "status": "affected",
              "version": "4db67e808640e3934d82ce61ee8e2e89fd877ba8",
              "versionType": "git"
            },
            {
              "lessThan": "c3e5cac47519d77ad36b9c03a1df1536aaa0c4a1",
              "status": "affected",
              "version": "4db67e808640e3934d82ce61ee8e2e89fd877ba8",
              "versionType": "git"
            },
            {
              "lessThan": "976c19de0f22a857ba0112f39635f8fd7a257568",
              "status": "affected",
              "version": "4db67e808640e3934d82ce61ee8e2e89fd877ba8",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/sctp/protocol.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.7"
            },
            {
              "lessThan": "3.7",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "3.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "3.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "3.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: fix addr_wq_timer race in sctp_free_addr_wq()\n\nsctp_free_addr_wq() previously removed addr_wq_timer using timer_delete()\nwhile holding addr_wq_lock. However, timer_delete() does not guarantee that\na currently running timer handler has completed.\n\nThis allows a race with sctp_addr_wq_timeout_handler(), where the handler\nmay still run after addr_waitq has been freed, acquire addr_wq_lock, and\naccess freed memory, leading to a use-after-free.\n\nFix this by calling timer_shutdown_sync() before taking addr_wq_lock.  This\nguarantees that any in-flight timer handler has finished and prevents the\ntimer from being re-armed during teardown, making subsequent cleanup safe."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The UAF is in sctp_free_addr_wq() during per-network-namespace SCTP teardown when a net namespace is destroyed; reaching it requires local syscalls (unshare/exit, SCTP socket/bind/setsockopt, rtnetlink address changes), not remote SCTP packet receive paths.\nAC:L - The attacker controls both sides of the race by creating a netns with SCTP AUTO_ASCONF sockets, queueing address events that arm addr_wq_timer (~500ms), and concurrently destroying that namespace; timer_delete() does not wait for sctp_addr_wq_timeout_handler(), so the UAF is reliably winnable.\nPR:L - An unprivileged local user can obtain CAP_NET_ADMIN in a new user+network namespace via unshare, bind an SCTP socket to INADDR_ANY, enable SCTP_AUTO_ASCONF, churn interface addresses to populate addr_waitq, and destroy the namespace; container tenants can trigger the same netns teardown without init-namespace root.\nUI:N - Exploitation is fully attacker-driven through scripted namespace create/configure/destroy and concurrent threads; no victim must mount filesystems, open files, or take any discretionary action beyond the attacker\u0027s own setup.\nS:U - The bug is kernel heap use-after-free of sctp_sockaddr_entry during netns teardown; impact is host kernel memory corruption and privilege escalation within the same kernel security authority, not a VM/hypervisor or IOMMU boundary crossing.\nC:H - sctp_addr_wq_timeout_handler() may walk addr_waitq and dereference sctp_sockaddr_entry fields after sctp_free_addr_wq() kfree()\u0027s those entries; UAF on freed heap objects enables kernel memory disclosure and supports further exploitation primitives.\nI:H - The timer handler calls sctp_asconf_mgmt() on corrupted addrw pointers (address family, sockaddr, state), driving ASCONF add/delete processing on freed memory; UAF heap corruption is exploitable for arbitrary kernel write and potential code execution.\nA:H - Use-after-free in sctp_addr_wq_timeout_handler() during list iteration, socket locking, and sctp_asconf_mgmt() can cause kernel oops or panic from accesses to freed sctp_sockaddr_entry memory, even when full exploitation is not attempted."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:43:34.215Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a8323fb2ab6cd6978f359daeed6688e0cadf32ba"
        },
        {
          "url": "https://git.kernel.org/stable/c/c3e5cac47519d77ad36b9c03a1df1536aaa0c4a1"
        },
        {
          "url": "https://git.kernel.org/stable/c/976c19de0f22a857ba0112f39635f8fd7a257568"
        }
      ],
      "title": "sctp: fix addr_wq_timer race in sctp_free_addr_wq()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72383",
    "datePublished": "2026-08-15T05:56:14.755Z",
    "dateReserved": "2026-08-09T03:40:39.923Z",
    "dateUpdated": "2026-08-17T05:43:34.215Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72383",
      "date": "2026-09-20",
      "epss": "0.00157",
      "percentile": "0.05293"
    },
    "microsoft_vex": {
      "current_release_date": "2026-08-23T14:43:03.000Z",
      "cve": "CVE-2026-72383",
      "id": "msrc_CVE-2026-72383",
      "initial_release_date": "2026-08-23T14:43:03.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "sctp: fix addr_wq_timer race in sctp_free_addr_wq()",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-72383.json",
      "version": "1"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "net/sctp/protocol.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "a8323fb2ab6cd6978f359daeed6688e0cadf32ba",
                    "status": "affected",
                    "version": "4db67e808640e3934d82ce61ee8e2e89fd877ba8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c3e5cac47519d77ad36b9c03a1df1536aaa0c4a1",
                    "status": "affected",
                    "version": "4db67e808640e3934d82ce61ee8e2e89fd877ba8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "976c19de0f22a857ba0112f39635f8fd7a257568",
                    "status": "affected",
                    "version": "4db67e808640e3934d82ce61ee8e2e89fd877ba8",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "net/sctp/protocol.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "3.7"
                  },
                  {
                    "lessThan": "3.7",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.40",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: fix addr_wq_timer race in sctp_free_addr_wq()\n\nsctp_free_addr_wq() previously removed addr_wq_timer using timer_delete()\nwhile holding addr_wq_lock. However, timer_delete() does not guarantee that\na currently running timer handler has completed.\n\nThis allows a race with sctp_addr_wq_timeout_handler(), where the handler\nmay still run after addr_waitq has been freed, acquire addr_wq_lock, and\naccess freed memory, leading to a use-after-free.\n\nFix this by calling timer_shutdown_sync() before taking addr_wq_lock.  This\nguarantees that any in-flight timer handler has finished and prevents the\ntimer from being re-armed during teardown, making subsequent cleanup safe."
          }
        ],
        "id": "CVE-2026-72383",
        "lastModified": "2026-08-17T06:18:42.793",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-08-15T06:22:11.813",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/976c19de0f22a857ba0112f39635f8fd7a257568"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/a8323fb2ab6cd6978f359daeed6688e0cadf32ba"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/c3e5cac47519d77ad36b9c03a1df1536aaa0c4a1"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-19T17:43:25+00:00",
      "cve": "CVE-2026-72383",
      "id": "CVE-2026-72383",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: sctp: fix addr_wq_timer race in sctp_free_addr_wq()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72383.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:26:22Z",
      "cve": "CVE-2026-72383",
      "id": "CVE-2026-72383",
      "initial_release_date": "2026-09-01T17:13:55Z",
      "product_status:known_affected": "358",
      "product_status:known_not_affected": "4",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-72383",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-72383.json",
      "version": "4"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…