Read the docs
TI-2026-40324 Aliases CVE-2026-55865GHSA-vq2f-vcc9-j8mv

Python Liquid: Infinite loop when parsing malformed `{% case %}` tags

Priority LOW 38CWE-835Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-835.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00451 39th percentileScored 2026-11-07
Fix Fixed liquid (jg-rp): 2.2.1python-liquid (PyPI): 2.2.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
jg-rpliquidbefore 2.2.12.2.1Patch availableCNA
—python-liquid (PyPI)before 2.2.12.2.1Patch availableGHSA-vq2f-vcc9-j8mv
  • liquid Vendorjg-rp Affected before 2.2.1 Fixed in 2.2.1 Patch available CNA
  • python-liquid (PyPI) Vendor— Affected before 2.2.1 Fixed in 2.2.1 Patch available GHSA-vq2f-vcc9-j8mv

Remediation

  • Fix · CNA liquid (jg-rp) Fixed in 2.2.1
  • Fix · GHSA-vq2f-vcc9-j8mv python-liquid (PyPI) Fixed in 2.2.1 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-55865
  2. 2026-10-03 Alias added: GHSA-vq2f-vcc9-j8mv

References

  • TI-2026-32873 Python Liquid: Absolute paths escape filesystem loader search path CVSS 4.0HIGH 8.2

Sources