CVE-2026-53246
Beschrijving NL
In de Linux kernel is de volgende kwetsbaarheid verholpen:
sctp: valideer gecachete peer INIT chunk-lengte in COOKIE_ECHO VERWERKING
Wanneer een luisterende SCTP-server een COOKIE_ECHO chunk verwerkt, wordt de gecachete
peer INIT chunk ingebed nadat de cookie is ontleed en de parameters ervan
worden later gelopen door sctp_process_init() met behulp van sctp_walk_params(). De lengte van de chunkheader van dit in de cache opgeslagen INIT-CHUNK was echter niet
gevalideerd tegen de resterende buffer in de COOKIE_ECHO payload. Als
het lengteveld is opgeblazen, de parameterloop kan voorbij de
daadwerkelijk ontvangen gegevens, wat leidt tot out-of-bounds lezen en potentieel
geheugenbeschadiging tijdens latere parameterverwerking (bijv. STATE_COOKIE
verwerking en kmemdup() kopieën). Voeg een grenscontrole toe in sctp_unpack_cookie() om ervoor te zorgen dat de in de cache opgeslagen INIT
de lengte van de brok niet groter is dan de beschikbare gegevens in de COOKIE_ECHO
buffer voordat deze wordt gebruikt.
Origineel (Engels) tonen
In the Linux kernel, the following vulnerability has been resolved:
sctp: validate cached peer INIT chunk length in COOKIE_ECHO processing
When a listening SCTP server processes a COOKIE_ECHO chunk, the cached
peer INIT chunk embedded after the cookie is parsed and its parameters
are later walked by sctp_process_init() using sctp_walk_params().
However, the chunk header length of this cached INIT chunk was not
validated against the remaining buffer in the COOKIE_ECHO payload. If
the length field is inflated, the parameter walk can run beyond the
actual received data, leading to out-of-bounds reads and potential
memory corruption during later parameter handling (e.g. STATE_COOKIE
processing and kmemdup() copies).
Add a bounds check in sctp_unpack_cookie() to ensure the cached INIT
chunk length does not exceed the available data in the COOKIE_ECHO
buffer before it is used.