{"id":"CVE-2026-28525","aliases":["DEBIAN-CVE-2026-28525","EUVD-2026-25307","GHSA-hggv-rg65-qf4h","UBUNTU-CVE-2026-28525"],"status":"published","title":"SWUpdate Integer Underflow in Multipart Upload Parser","description":"SWUpdate contains an integer underflow vulnerability in the multipart upload parser in mongoose_multipart.c that allows unauthenticated attackers to cause a denial of service by sending a crafted HTTP POST request to /upload with a malformed multipart boundary and controlled TCP stream timing. Attackers can trigger an integer underflow in the mg_http_multipart_continue_wait_for_chunk() function when the buffer length falls within a specific range, causing an out-of-bounds heap read past the allocated receive buffer to a local IPC socket.","severity":{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00316,"percentile":0.2474,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125","CWE-191"],"published":"2026-04-23T20:59:31Z","modified":"2026-10-28T10:49:10Z","fixes":[{"ecosystem":"Debian:12","package":"swupdate","fixed_in":["2022.12+dfsg-4+deb12u2"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"swupdate","fixed_in":["2024.12.1+dfsg-3+deb13u2"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"swupdate","fixed_in":["2025.12+dfsg-9"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"swupdate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2022.12+dfsg-4+deb12u2"}]}],"versions":["2022.12+dfsg-4","2022.12+dfsg-4+deb12u1","2022.12+dfsg-4+deb12u1~bpo11+1"]},{"source":"osv","ecosystem":"Debian:13","package":"swupdate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2024.12.1+dfsg-3+deb13u2"}]}],"versions":["2024.12.1+dfsg-3","2024.12.1+dfsg-3+deb13u1"]},{"source":"osv","ecosystem":"Debian:14","package":"swupdate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2025.12+dfsg-9"}]}],"versions":["2024.12.1+dfsg-3","2025.05+dfsg-1","2025.05+dfsg-2","2025.05+dfsg-2~bpo13+1","2025.05+dfsg-3","2025.05+dfsg-3~bpo13+1","2025.12+dfsg-1","2025.12+dfsg-2","2025.12+dfsg-2~bpo13+1","2025.12+dfsg-3","2025.12+dfsg-4","2025.12+dfsg-5","2025.12+dfsg-6","2025.12+dfsg-7","2025.12+dfsg-7~bpo13+1","2025.12+dfsg-8"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"swupdate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2020.11-2","2021.04-1.1","2021.04-2","2021.04-2build1","2021.11-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"swupdate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2023.05+dfsg-3","2023.05+dfsg-4","2023.05+dfsg-4build1","2023.05+dfsg-5","2023.12+dfsg-1","2023.12.1+dfsg-1ubuntu1","2023.12.1+dfsg-1ubuntu4","2023.12.1+dfsg-1ubuntu5"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"swupdate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2024.12.1+dfsg-1build2","2024.12.1+dfsg-2","2024.12.1+dfsg-3","2025.05+dfsg-2ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"swupdate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2025.12+dfsg-4ubuntu1","2026.05+dfsg-3ubuntu2","2026.05+dfsg-4ubuntu1","2026.05.1+dfsg-1ubuntu1","2026.05.1+git20261001+dfsg-1ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"swupdate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2025.05+dfsg-2ubuntu1","2025.05+dfsg-3ubuntu1","2025.12+dfsg-1ubuntu1","2025.12+dfsg-2ubuntu1","2025.12+dfsg-3ubuntu1","2025.12+dfsg-4ubuntu1"]}],"products":[{"vendor":"sbabic","product":"swupdate"},{"vendor":"swupdate","product":"swupdate"}],"references":[{"url":"https://github.com/sbabic/swupdate/commit/beee2dc0feef1cfe84f1aa6fc980e104b2e47a74","tags":["patch","Patch","fix"]},{"url":"https://www.vulncheck.com/advisories/swupdate-integer-underflow-in-multipart-upload-parser","tags":["third-party-advisory","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-28525","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-hggv-rg65-qf4h"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/28xxx/CVE-2026-28525.json","tags":["advisory"]},{"url":"https://github.com/sbabic/swupdate","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-28525","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-28525","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-28525","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-28525","title":"SWUpdate Integer Underflow in Multipart Upload Parser","description":"SWUpdate contains an integer underflow vulnerability in the multipart upload parser in mongoose_multipart.c that allows unauthenticated attackers to cause a denial of service by sending a crafted HTTP POST request to /upload with a malformed multipart boundary and controlled TCP stream timing. Attackers can trigger an integer underflow in the mg_http_multipart_continue_wait_for_chunk() function when the buffer length falls within a specific range, causing an out-of-bounds heap read past the allocated receive buffer to a local IPC socket.","status":"published","published":"2026-04-23T20:59:31.492Z","modified":"2026-07-28T01:48:29.666Z","cvss":[{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna"},{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-191","CWE-125"],"updated_at":"2026-11-02T14:20:02.290587Z"}],"euvd":[{"id":"EUVD-2026-25307","description":"SWUpdate contains an integer underflow vulnerability in the multipart upload parser in mongoose_multipart.c that allows unauthenticated attackers to cause a denial of service by sending a crafted HTTP POST request to /upload with a malformed multipart boundary and controlled TCP stream timing. Attackers can trigger an integer underflow in the mg_http_multipart_continue_wait_for_chunk() function when the buffer length falls within a specific range, causing an out-of-bounds heap read past the allocated receive buffer to a local IPC socket.","status":"published","published":"2026-04-23T20:59:31Z","modified":"2026-07-28T01:48:29Z","cvss":[{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T18:02:32.608142Z"}],"ghsa":[{"id":"GHSA-hggv-rg65-qf4h","title":"SWUpdate contains an integer underflow vulnerability in the multipart upload parser in...","description":"SWUpdate contains an integer underflow vulnerability in the multipart upload parser in mongoose_multipart.c that allows unauthenticated attackers to cause a denial of service by sending a crafted HTTP POST request to /upload with a malformed multipart boundary and controlled TCP stream timing. Attackers can trigger an integer underflow in the mg_http_multipart_continue_wait_for_chunk() function when the buffer length falls within a specific range, causing an out-of-bounds heap read that writes data beyond the allocated receive buffer to a local IPC socket.","status":"published","published":"2026-04-23T21:31:24Z","modified":"2026-04-23T21:31:30Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:H","level":"medium"},{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T15:07:37.11234Z"}],"nvd":[{"id":"CVE-2026-28525","description":"SWUpdate contains an integer underflow vulnerability in the multipart upload parser in mongoose_multipart.c that allows unauthenticated attackers to cause a denial of service by sending a crafted HTTP POST request to /upload with a malformed multipart boundary and controlled TCP stream timing. Attackers can trigger an integer underflow in the mg_http_multipart_continue_wait_for_chunk() function when the buffer length falls within a specific range, causing an out-of-bounds heap read past the allocated receive buffer to a local IPC socket.","status":"published","published":"2026-04-23T21:16:05.367Z","modified":"2026-10-26T21:10:00.17Z","cvss":[{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"},{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:H","level":"medium","assessor":"secondary"}],"cwes":["CWE-125","CWE-191"],"updated_at":"2026-11-02T14:12:15.867234Z"}],"osv":[{"id":"CVE-2026-28525","title":"SWUpdate Integer Underflow in Multipart Upload Parser","description":"SWUpdate contains an integer underflow vulnerability in the multipart upload parser in mongoose_multipart.c that allows unauthenticated attackers to cause a denial of service by sending a crafted HTTP POST request to /upload with a malformed multipart boundary and controlled TCP stream timing. Attackers can trigger an integer underflow in the mg_http_multipart_continue_wait_for_chunk() function when the buffer length falls within a specific range, causing an out-of-bounds heap read past the allocated receive buffer to a local IPC socket.","status":"published","published":"2026-04-23T20:59:31.492Z","modified":"2026-10-28T10:49:10.436059533Z","cvss":[{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-125","CWE-191"],"updated_at":"2026-11-02T15:45:00.530889Z"},{"id":"DEBIAN-CVE-2026-28525","description":"SWUpdate contains an integer underflow vulnerability in the multipart upload parser in mongoose_multipart.c that allows unauthenticated attackers to cause a denial of service by sending a crafted HTTP POST request to /upload with a malformed multipart boundary and controlled TCP stream timing. Attackers can trigger an integer underflow in the mg_http_multipart_continue_wait_for_chunk() function when the buffer length falls within a specific range, causing an out-of-bounds heap read past the allocated receive buffer to a local IPC socket.","status":"published","published":"2026-04-23T21:16:05.367Z","modified":"2026-10-27T09:47:43.735924796Z","cvss":[{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"}],"updated_at":"2026-11-02T15:45:53.877573Z"},{"id":"UBUNTU-CVE-2026-28525","description":"SWUpdate contains an integer underflow vulnerability in the multipart upload parser in mongoose_multipart.c that allows unauthenticated attackers to cause a denial of service by sending a crafted HTTP POST request to /upload with a malformed multipart boundary and controlled TCP stream timing. Attackers can trigger an integer underflow in the mg_http_multipart_continue_wait_for_chunk() function when the buffer length falls within a specific range, causing an out-of-bounds heap read past the allocated receive buffer to a local IPC socket.","status":"published","published":"2026-04-23T21:16:00Z","modified":"2026-10-17T12:58:07.850117361Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:H","level":"medium"},{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T16:56:08.726452Z"}]}}
