| 제목 | musl libc musl 0.8.0 - 1.2.6 Inefficient Algorithmic Complexity |
|---|
| 설명 | An algorithmic complexity DoS vulnerability has been discovered in musl 1.2.6.
The GB18030 4-byte decoder in musl libc's iconv() implementation contains a gap-skipping loop that performs a full linear scan of the gb18030126 lookup table (23,940 entries) on each iteration of an outer loop whose iteration count is input-dependent. For 4-byte sequences whose linear index falls just below the dense CJK Unified Ideographs range, the outer loop executes approximately 20,905 times, resulting in approximately 500 million comparisons per input character.
This allows a remote attacker to cause denial of service via CPU exhaustion by sending a crafted GB18030 payload to any network service that uses musl's iconv() for character encoding conversion. Measured on musl 1.2.6 and 1.2.5: a single 4-byte input character (bytes 0x82 0x35 0x8F 0x33) takes approximately 260ms to decode, compared to approximately 13 microseconds for a benign character — a 19,000x slowdown. A payload of 40kB will take the server ~43 minutes process/decode. |
|---|
| 원천 | ⚠️ https://www.openwall.com/lists/oss-security/2026/04/03/2 |
|---|
| 사용자 | 0x001 (UID 97056) |
|---|
| 제출 | 2026. 04. 03. PM 01:15 (6 개월 ago) |
|---|
| 모더레이션 | 2026. 04. 09. PM 07:34 (6 days later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 356620 [musl libc 까지 1.2.6 GB18030 4-byte Decoder src/locale/iconv.c iconv 서비스 거부] |
|---|
| 포인트들 | 20 |
|---|