← Back to CVE Explorer

CVE-2026-98614

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: sctp: avoid livelock while updating retransmit path sctp_assoc_update_retran_path() can loop forever when every remaining transport, including retran_path, is SCTP_UNCONFIRMED: the state check runs before the wraparound test, so the loop cannot observe that it has completed a full pass. Fix this by considering a transport only when it is not UNCONFIRMED, then checking whether the walk has returned to retran_path. This makes the full-pass termination independent of the transport state while preserving the existing fallback selection semantics. Also restore the NULL guard around the retran_path assignment. In the all-UNCONFIRMED case there is no eligible replacement transport, and installing NULL would leave later retransmit-path users and the debug print with a NULL path.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-18 16:17:14.267000
Last modified
2026-10-19 10:19:25.303000
View original CVE JSON
{
  "id": "CVE-2026-98614",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-10-18T16:17:14.267",
  "lastModified": "2026-10-19T10:19:25.303",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: avoid livelock while updating retransmit path\n\nsctp_assoc_update_retran_path() can loop forever when every remaining\ntransport, including retran_path, is SCTP_UNCONFIRMED: the state check\nruns before the wraparound test, so the loop cannot observe that it has\ncompleted a full pass.\n\nFix this by considering a transport only when it is not UNCONFIRMED,\nthen checking whether the walk has returned to retran_path. This makes\nthe full-pass termination independent of the transport state while\npreserving the existing fallback selection semantics.\n\nAlso restore the NULL guard around the retran_path assignment. In the\nall-UNCONFIRMED case there is no eligible replacement transport, and\ninstalling NULL would leave later retransmit-path users and the debug\nprint with a NULL path."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "net/sctp/associola.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "4c47af4d5eb2c2f78f886079a3920a7078a6f0a0",
              "lessThan": "3fe624c3843694ab096fdb198526ba0c659febbe",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "4c47af4d5eb2c2f78f886079a3920a7078a6f0a0",
              "lessThan": "43410c1f2db53516e95ddd7e5b4b02f495b78121",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "4c47af4d5eb2c2f78f886079a3920a7078a6f0a0",
              "lessThan": "d893a7cc1cb41dd510f338bb2bfd8f29b14eaf49",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "4c47af4d5eb2c2f78f886079a3920a7078a6f0a0",
              "lessThan": "83b1a7f9e718828ef364a7b004254ebb2d0035fe",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "4c47af4d5eb2c2f78f886079a3920a7078a6f0a0",
              "lessThan": "173610fff55022a5ad1579fbcc7faa97467b58b7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "4c47af4d5eb2c2f78f886079a3920a7078a6f0a0",
              "lessThan": "c9338057df1025f578fe7d0ff08bada87b8b838d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "4c47af4d5eb2c2f78f886079a3920a7078a6f0a0",
              "lessThan": "ddc34cc0834c873871e88b055ee6a260676efe97",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "4c47af4d5eb2c2f78f886079a3920a7078a6f0a0",
              "lessThan": "d2c31b837406395e576afeb25958c98e9938f3f6",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "8ceaec02b17397d12719a282945abc95f8149d9f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d2c2bdcdd8c5ce3d2a68aa3353ed1f340c3e500e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3.10.106",
              "lessThan": "3.11",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "3.12.71",
              "lessThan": "3.13",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "net/sctp/associola.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "3.14",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "3.14",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.271",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.222",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.189",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.158",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.112",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.55",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.9",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/173610fff55022a5ad1579fbcc7faa97467b58b7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/3fe624c3843694ab096fdb198526ba0c659febbe",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/43410c1f2db53516e95ddd7e5b4b02f495b78121",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/83b1a7f9e718828ef364a7b004254ebb2d0035fe",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c9338057df1025f578fe7d0ff08bada87b8b838d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d2c31b837406395e576afeb25958c98e9938f3f6",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d893a7cc1cb41dd510f338bb2bfd8f29b14eaf49",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ddc34cc0834c873871e88b055ee6a260676efe97",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}