quirc through 1.2 contains an excessive-iteration vulnerability in find_alignment_pattern() in lib/identify.c that allows attackers to hang quirc_end() with a crafted image. Attackers can arrange three finder patterns producing a near-degenerate perspective transform, causing billions of region_code() iterations that exhaust CPU in applications decoding attacker-supplied QR images.
https://hackmd.io/@haind-pwn/quirc-alignment-pattern-infinite-loop-dos
https://github.com/dlbeer/quirc/pull/159
Published: 2026-10-14
Updated: 2026-10-16
Base Score: 4.9
Vector: CVSS2#AV:L/AC:L/Au:N/C:N/I:N/A:C
Severity: Medium
Base Score: 5.5
Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Severity: Medium
Base Score: 6.8
Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Severity: Medium
EPSS: 0.00172