CVE-2026-89477: sctp: fix NULL deref on untransmitted RECONF completion

Published Sep 11, 2026
·
Updated

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

sctp: fix NULL deref on untransmitted RECONF completion

sctpprocessstrresetoutreq(), sctpprocessstrresetaddstrmout() and sctpprocessstrresetresp() complete a pending stream reconfiguration request by stopping the reconf timer on the transport it was sent on:

t = asoc->strresetchunk->transport; if (timerdelete(&t->reconftimer)) sctptransportput(t);

chunk->transport is assigned by sctppacketappendchunk() when the chunk is appended to an outbound packet, and sctpoutqflushctrl() arms the reconf timer at that same point. A request already published in asoc->strresetchunk but not yet transmitted has neither, so completing it dereferences NULL.

Two ways to get there. sctpsendasconfdelip() sets asoc->srcoutofasocok without sending anything when the address being removed is the association's last one, and sctpoutqflushctrl() then leaves every non-ASCONF control chunk queued; as only sctpprocessasconfack() clears that flag, it persists. An unprivileged process that removes such an address and then asks for a stream reset panics the kernel from softirq. A peer needs neither ASCONF nor local help: sctpcmdinterpreter() uncorks the outqueue only once the whole packet has been processed, so a reply built while walking a RECONF chunk stays untransmitted for the rest of that walk, and one RECONF chunk carrying [Incoming SSN Reset Request, Outgoing SSN Reset Request, Response] -- or two RECONF chunks in one packet -- reaches the same dereference.

KASAN: null-ptr-deref in range [0x00000000000001e8-0x00000000000001ef] RIP: 0010:timerdelete+0x67/0x110 Call Trace: <IRQ> sctpprocessstrresetaddstrmout (net/sctp/stream.c:832) sctpsfdoreconf (net/sctp/smstatefuns.c:4212) sctpdosm (net/sctp/smsideeffect.c:1172) sctpassocbhrcv (net/sctp/associola.c:1044) sctprcv (net/sctp/input.c:243) iplocaldeliver (net/ipv4/ipinput.c:262) processbacklog (net/core/dev.c:6680) </IRQ>

A response can only acknowledge a request that was actually sent, so do not match asoc->strresetchunk while chunk->transport is NULL. Guarding the lookup covers all three completion sites.

Affected Software

1 affected component
Linux Kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade linux kernel to a version that resolves this vulnerability.

    Patch sctp: fix NULL deref on untransmitted RECONF completion

Event History

Sep 11, 2026
CVE Published
via MITRE·07:43 PM
Data Sourced
via MITRE·07:43 PM
Description

Frequently Asked Questions

1

What local permissions or actions are needed to trigger the issue?

An unprivileged process can trigger the reported panic if it can remove an address that is the association's last address and then request a stream reset. Removing that last address sets a state that leaves non-ASCONF control chunks queued.

2

What is the operational impact of a successful trigger?

The kernel can panic from softirq context, resulting in a denial of service.

3

Does a remote peer need ASCONF support to reach the affected condition?

The provided data states that a peer needs neither ASCONF nor additional capabilities described in the truncated source text. The exact remaining peer-side conditions are not available in the supplied data.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203