{"cve":"CVE-2026-98123","nvd":{"published":"2026-09-25T11:17:43.600","modified":"2026-10-22T16:46:55.180","status":"Analyzed","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: fix soft lockup from unpadded ASCONF-ACK parameter iteration\n\nsctp_verify_asconf() walks ASCONF-ACK parameters with\nsctp_walk_params(), which advances by SCTP_PAD4(length), while the\nconsumer sctp_get_asconf_response() iterates the same parameters\nadvancing by the raw length, without padding. A single odd-length\nparameter desynchronises the two walks and makes the consumer\ninterpret attacker-controlled bytes at a misaligned offset.\n\nWhen those bytes yield a length of zero, the while loop over\nasconf_ack_len makes no progress, spinning forever in softirq\ncontext, and the watchdog reports a soft lockup. All reads stay\nwithin the received skb, so the lockup is a pure remote denial of\nservice. A remote peer can trigger it with a crafted ASCONF-ACK on\nan ADD-IP enabled association with an outstanding ASCONF (RFC 5061\nsection 4.1.2 requires the chunk to be authenticated, but the\npredefined empty key id 0 allows the peer to compute the same\nassociation HMAC from publicly exchanged parameters, so the gate\ndoes not help).\n\nThe SCTP_PARAM_ERR_CAUSE case of sctp_verify_asconf() also performs\nno length check, letting a parameter without a complete error\nheader reach the consumer, which reads errhdr.cause past the end of\nthe parameter, an out-of-bounds read.\n\nReject SCTP_PARAM_ERR_CAUSE parameters shorter than\nsizeof(struct sctp_addip_param) + sizeof(struct sctp_errhdr) at the\nverifier, and advance the consumer iterator with the same padding\nrule as the verifier to keep the two walks in lockstep. The verifier\nchange guarantees a complete error header in every ERR_CAUSE\nparameter the consumer can see, so the consumer's asconf_ack_len\ncheck is dropped and it returns err_param->cause directly. The\nconsumer padding fix is still required because odd lengths remain\nvalid for SCTP_PARAM_ERR_CAUSE per RFC 5061.\n\nThe issue was found by ZeroHive, a vulnerability hunting agent at\nTencent Yunding Lab.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","score":5.5},"cwes":["CWE-667"],"references":["https://git.kernel.org/stable/c/2cb0b0b1ed69430bf73740377ea0a1c44c50db63","https://git.kernel.org/stable/c/3be02999ab9131a4b96eb1eda4ca48b1cea80f03","https://git.kernel.org/stable/c/4548d843e7b29f6d150d8caae4e64015fa226b0c","https://git.kernel.org/stable/c/5fbc6a778d5fce7628821236972596acb18e1065","https://git.kernel.org/stable/c/7ba84e2971d208a2d6413a334ec28a8a32cdce0f"],"products":["linux:linux_kernel"],"source":"nvd","synced_at":"2026-10-23T16:39:26.291718493+00:00"},"epss":{"cve":"CVE-2026-98123","score":0.00095,"percentile":0.00629,"date":"2026-10-25"},"kev":null,"osv":[],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}