---
id: CVE-2026-110596
title: >-
  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
summary: >-
  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-de…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'
cwe:
  - CWE-834
published: '2026-10-14'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T15:17:10.797'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-110596'
references:
  - url: >-
      https://github.com/dlbeer/quirc/blob/542848dd6b9b0eaa9587bbf25b9bc67bd8a71fca/lib/identify.c#L578-L636
    label: disclosure@vulncheck.com
  - url: 'https://github.com/dlbeer/quirc/issues/162'
    label: disclosure@vulncheck.com
  - url: 'https://github.com/dlbeer/quirc/pull/159'
    label: disclosure@vulncheck.com
  - url: 'https://hackmd.io/@haind-pwn/quirc-alignment-pattern-infinite-loop-dos'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/quirc-through-1.2-denial-of-service-via-find-alignment-pattern-spiral-search
    label: disclosure@vulncheck.com
tags:
  - nvd
ingestedAt: '2026-10-14T15:36:14.000Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
