In the Linux kernel, the following vulnerability has been resolved:
sctp: prevent possible shift-out-of-bounds in sctptransportupdate_rto
syzbot reported a possible shift-out-of-bounds [1]
Blamed commit added rtoalphamax and rtobetamax set to 1000.
It is unclear if some sctp users are setting very large rtoalpha and/or rtobeta.
In order to prevent user regression, perform the test at run time.
Also add READ_ONCE() annotations as sysctl values can change under us.
[1]
UBSAN: shift-out-of-bounds in net/sctp/transport.c:509:41 shift exponent 64 is too large for 32-bit type 'unsigned int' CPU: 0 UID: 0 PID: 16704 Comm: syz.2.2320 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025 Call Trace: <TASK> _dumpstack lib/dumpstack.c:94 [inline] dumpstacklvl+0x16c/0x1f0 lib/dumpstack.c:120 ubsanepilogue lib/ubsan.c:233 [inline] _ubsanhandleshiftoutofbounds+0x27f/0x420 lib/ubsan.c:494 sctptransportupdaterto.cold+0x1c/0x34b net/sctp/transport.c:509 sctpchecktransmitted+0x11c4/0x1c30 net/sctp/outqueue.c:1502 sctpoutqsack+0x4ef/0x1b20 net/sctp/outqueue.c:1338 sctpcmdprocesssack net/sctp/smsideeffect.c:840 [inline] sctpcmdinterpreter net/sctp/sm_sideeffect.c:1372 [inline]
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40281.json"
}