Read the docs
TI-2026-64520 Aliases CVE-2026-98123GHSA-f2r5-8634-vv9q

sctp: fix soft lockup from unpadded ASCONF-ACK parameter iteration

Priority LOW 23CWE-667Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 7 without a fix

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat. Impact type from CWE-667 and the CVSS impact.

Summary

In the Linux kernel, the following vulnerability has been resolved: sctp: fix soft lockup from unpadded ASCONF-ACK parameter iteration sctp_verify_asconf() walks ASCONF-ACK parameters with sctp_walk_params(), which advances by SCTP_PAD4(length), while the consumer sctp_get_asconf_response() iterates the same parameters advancing by the raw length, without padding. A single odd-length parameter desynchronises the two walks and makes the consumer interpret attacker-controlled bytes at a misaligned offset. When those bytes yield a length of zero, the while loop over asconf_ack_len makes no progress, spinning forever in softirq context, and the watchdog reports a soft lockup. All reads stay within the received skb, so the lockup is a pure remote denial of service. A remote peer can trigger it with a crafted ASCONF-ACK on an ADD-IP enabled association with an outstanding ASCONF (RFC 5061 section 4.1.2 requires the chunk to be authenticated, but the predefined empty key id 0 allows the peer to compute the same association HMAC from publicly exchanged parameters, so the gate does not help). The SCTP_PARAM_ERR_CAUSE case of sctp_verify_asconf() also performs no length check, letting a parameter without a complete error header reach the consumer, which reads errhdr.cause past the end of the parameter, an out-of-bounds read. Reject SCTP_PARAM_ERR_CAUSE parameters shorter than sizeof(struct sctp_addip_param) + sizeof(struct sctp_errhdr) at the verifier, and advance the consumer iterator with the same padding rule as the verifier to keep the two walks in lockstep. The verifier change guarantees a complete error header in every ERR_CAUSE parameter the consumer can see, so the consumer's asconf_ack_len check is dropped and it returns err_param->cause directly. The consumer padding fix is still required because odd lengths remain valid for SCTP_PARAM_ERR_CAUSE per RFC 5061. The issue was found by ZeroHive, a vulnerability hunting agent at Tencent Yunding Lab.

Why it matters now

EPSS 0.00095 0th percentileScored 2026-11-07
Fix Partial Linux (Linux): 5.10.271, 5.15.222, 6.1.189 +5Red Hat: 7 without a fix

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux2.6.12 and later5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, 6.18.53, 7.2.7, 7.3Patch availableCNA
  • Linux VendorLinux Affected 2.6.12 and later Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, 6.18.53, 7.2.7, 7.3 Patch available CNA

CPE configurations NVD · 7

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*2.6.12.1 to before 5.10.271; 5.11 to before 5.15.222; 5.16 to before 6.1.189; 6.2 to before 6.6.158; 6.7 to before 6.12.111; 6.13 to before 6.18.53; 6.19 to before 7.2.7VulnerableLinux
cpe:2.3:o:linux:linux_kernel:2.6.12:-:*:*:*:*:*:*2.6.12VulnerableLinux
cpe:2.3:o:linux:linux_kernel:2.6.12:rc2:*:*:*:*:*:*2.6.12 rc2VulnerableLinux
cpe:2.3:o:linux:linux_kernel:2.6.12:rc3:*:*:*:*:*:*2.6.12 rc3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:2.6.12:rc4:*:*:*:*:*:*2.6.12 rc4VulnerableLinux
cpe:2.3:o:linux:linux_kernel:2.6.12:rc5:*:*:*:*:*:*2.6.12 rc5VulnerableLinux
cpe:2.3:o:linux:linux_kernel:7.3:rc1:*:*:*:*:*:*7.3 rc1VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 2.6.12.1 to before 5.10.271; 5.11 to before 5.15.222; 5.16 to before 6.1.189; 6.2 to before 6.6.158; 6.7 to before 6.12.111; 6.13 to before 6.18.53; 6.19 to before 7.2.7 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:2.6.12:-:*:*:*:*:*:* Versions 2.6.12 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:2.6.12:rc2:*:*:*:*:*:* Versions 2.6.12 rc2 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:2.6.12:rc3:*:*:*:*:*:* Versions 2.6.12 rc3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:2.6.12:rc4:*:*:*:*:*:* Versions 2.6.12 rc4 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:2.6.12:rc5:*:*:*:*:*:* Versions 2.6.12 rc5 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:7.3:rc1:*:*:*:*:*:* Versions 7.3 rc1 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, 6.18.53, 7.2.7, 7.3

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 6AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux 7AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 8AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 4AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 5AffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-98123
  2. 2026-10-03 Alias added: GHSA-f2r5-8634-vv9q
  3. 2026-10-03 Fix available: Linux/Linux@4548d843e7b29f6d150d8caae4e64015fa226b0c, Linux/[email protected], Linux/[email protected] +5 · CNA
  4. 2026-10-03 4 new references · CNA
  5. 2026-10-19 Fix available: Linux/[email protected] · CNA
  6. 2026-10-23 Affected versions changed · Red Hat
  7. 2026-10-23 CVSS score changed · Red Hat
  8. 2026-10-23 CVSS score added · NVD
  9. 2026-10-23 Weakness changed · NVD
  10. 2026-11-06 Affected versions changed · Red Hat

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources