Vulnerability · Published Jul 9, 2026 · Assigned by GitHub_M

CVE-2026-55865Python Liquid: Infinite loop when parsing malformed `{% case %}` tags

High 7.1

In plain English

A high-severity infinite loop in liquid from jg-rp. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 39% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)7.1High
Exploit odds (30 days)0.5%top 60.7% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

Python Liquid is a Python engine for the Liquid template language. Prior to 2.2.1, given a malformed {% case %} tag without an associated {% when %} or {% else %} block and no terminating {% endcase %} tag, Python Liquid hangs in an infinite loop at parse time because liquid.TokenStream.eof did not give the EOF token matching kind and value fields, allowing malicious template authors to craft templates for a denial of service attack. This issue is fixed in version 2.2.1.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIpython-liquid2.2.1GHSA-vq2f-vcc9-j8mv
PyPIpython-liquid2.2.1PYSEC-2026-3035

Affected products (as reported)

VendorProductVersions
jg-rp liquid < 2.2.1

Weakness: CWE-835 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

References