Read the docs
TI-2026-22762 Aliases CVE-2026-28499GHSA-6jj5-j4j8-8473

LeafKit's HTML escaping may be skipped for Collection values, enabling XSS

Priority HIGH 70CWE-116Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Cross-site scripting
Confidentiality · integrity · availability
None · None · None
Fix status
Fixed

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

Summary

LeafKit is a templating language with Swift-inspired syntax. Prior to version 1.14.2, HTML escaping doesn't work correctly when a template prints a collection (Array / Dictionary) via `#(value)`. This can result in XSS, allowing potentially untrusted input to be rendered unescaped. Version 1.14.2 fixes the issue.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00281 20th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed leaf-kit (vapor): 1.14.2github.com/vapor/leaf-kit (SwiftURL): 1.14.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
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
vaporleaf-kitbefore 1.14.21.14.2Patch availableCNA
—github.com/vapor/leaf-kit (SwiftURL)before 1.14.21.14.2Patch availableGHSA-6jj5-j4j8-8473
  • leaf-kit Vendorvapor Affected before 1.14.2 Fixed in 1.14.2 Patch available CNA
  • github.com/vapor/leaf-kit (SwiftURL) Vendor— Affected before 1.14.2 Fixed in 1.14.2 Patch available GHSA-6jj5-j4j8-8473

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:vapor:leafkit:*:*:*:*:*:*:*:*before 1.14.2Vulnerablevapor
  • cpe:2.3:a:vapor:leafkit:*:*:*:*:*:*:*:* Versions before 1.14.2 Vulnerable ·vapor

Remediation

  • Fix · CNA leaf-kit (vapor) Fixed in 1.14.2
  • Fix · GHSA-6jj5-j4j8-8473 github.com/vapor/leaf-kit (SwiftURL) Fixed in 1.14.2 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-28499
  2. 2026-10-03 Alias added: GHSA-6jj5-j4j8-8473

References

  • TI-2026-21572 Leaf-kit html escaping does not work on characters that are part of extended grapheme cluster CVSS 3.1MEDIUM 6.1
  • TI-2021-15509 LeafKit allows XSS with untrusted user input CVSS 3.1HIGH 7.4

Sources