Bug 2520143 (CVE-2026-77014) - CVE-2026-77014 libsoup: libsoup: Integer truncation in sort_ranges() comparator causes silent omission of HTTP Range responses
Summary: CVE-2026-77014 libsoup: libsoup: Integer truncation in sort_ranges() comparat...
Keywords:
Status: NEW
Alias: CVE-2026-77014
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2520149 2520150 2520148 2522094
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-20 07:44 UTC by OSIDB Bzimport
Modified: 2026-09-04 07:17 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-08-20 07:44:57 UTC
A flaw was found in libsoup's SoupServer HTTP Range header processing. The sort_ranges() comparator function in soup-message-headers.c returns the difference of two goffset (64-bit) values as an int (32-bit). When two range start positions in a multi-range request differ by more than INT_MAX (~2.1 billion), the truncation flips the comparison result sign, violating qsort's ordering contract. The mis-sorted ranges are then incorrectly merged, causing the server to silently omit requested byte ranges from the HTTP 206 Partial Content response. A remote unauthenticated attacker can trigger this by sending a multi-range Range request for a resource larger than approximately 2 GB, with range start offsets more than INT_MAX apart. The client receives fewer ranges than requested with no error indication, compromising data integrity for resumable downloads, delta updates, mirror synchronization, and chunked verification of large objects.


Note You need to log in before you can comment on or make changes to this bug.