In the Linux kernel, the following vulnerability has been resolved: sctp: clear control chunk transport if it is being removed sctp_make_heartbeat_ack() caches the destination transport in chunk->transport without taking a reference. When src_out_of_asoc_ok is enabled, the HEARTBEAT ACK may remain queued on control_chunk_list instead of being transmitted immediately. If the peer transport is removed while the chunk is still queued, sctp_assoc_rm_peer() drops the transport and schedules it for RCU freeing, but only clears cached transport pointers in out_chunk_list. The queued control chunk therefore retains a dangling transport pointer. Once an ASCONF_ACK clears the suppression and the queued control chunk is transmitted, SCTP dereferences the stale transport pointer, leading to a use-after-free. Fix this by also clearing chunk->transport for queued control chunks in control_chunk_list when removing the transport.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | 8a07eb0a50aebc8c95478d49c28c7f8419a26cef, 8a07eb0a50aebc8c95478d49c28c7f8419a26cef, 8a07eb0a50aebc8c95478d49c28c7f8419a26cef, 8a07eb0a50aebc8c95478d49c28c7f8419a26cef, 8a07eb0a50aebc8c95478d49c28c7f8419a26cef, 8a07eb0a50aebc8c95478d49c28c7f8419a26cef, 8a07eb0a50aebc8c95478d49c28c7f8419a26cef, 8a07eb0a50aebc8c95478d49c28c7f8419a26cef, 3.1 |
Downstream vendors/products affected by this vulnerability
| Vendor | Product | Source | Confidence |
|---|---|---|---|
| linux | linux | mitre_affected | 90% |
| open source | open source linux kernel | cert_advisory | 90% |