Executive brief
The GNU C Library's character encoding conversion tool (iconv) contains a flaw in its SHIFT_JISX0213 Japanese character set decoder that can cause applications to hang indefinitely when processing malicious input. An attacker who controls the input data being converted can trigger an infinite loop, denying service to the application and potentially impacting any system that relies on iconv for text encoding conversions.
Technical details
The vulnerability is a logic error in the SHIFT_JISX0213 decoder within iconvdata/shift_jisx0213.c. When decoding certain SHIFT_JISX0213 sequences that map to two Unicode code points, if the output buffer has insufficient space for the second code point, the converter stores it in state and returns E2BIG. However, the stored pending character is never cleared after emission, causing the converter to repeatedly output the same character without consuming input on subsequent calls. This results in an infinite loop. The attack requires attacker-controlled input and output buffers sized to split the two-code-point sequences. The vulnerability affects glibc versions 2.3 through 2.44; patches are available for versions 2.41 and later.
Affected products
- GNU C Library (glibc) 2.3 to 2.44
Timeline
- 2026-08-21: disclosed
- 2026-08-28: patched: Master branch fix released
- 2026-08-29: other: Backports to 2.44, 2.43, 2.42, 2.41 released