Advisory Database
  • Advisories
  • Dependency Scanning
  1. swift
  2. ›
  3. leaf-kit
  4. ›
  5. CVE-2026-27120

CVE-2026-27120: Leaf-kit html escaping does not work on characters that are part of extended grapheme cluster

February 19, 2026 (updated February 23, 2026)

htmlEscaped in leaf-kit will only escape html special characters if the extended grapheme clusters match, which allows bypassing escaping by using an extended grapheme cluster containing both the special html character and some additional characters. In the case of html attributes, this can lead to XSS if there is a leaf variable in the attribute that is user controlled.

References

  • github.com/advisories/GHSA-4hfh-fch3-5q7p
  • github.com/vapor/leaf-kit
  • github.com/vapor/leaf-kit/commit/8919e39476c3a4ba05c28b71546bb9195f87ef34
  • github.com/vapor/leaf-kit/security/advisories/GHSA-4hfh-fch3-5q7p
  • nvd.nist.gov/vuln/detail/CVE-2026-27120

Detect and mitigate CVE-2026-27120 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 1.4.1

Fixed versions

  • 1.4.1

Solution

Upgrade to version 1.4.1 or above.

Impact 6.1 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-75: Failure to Sanitize Special Elements into a Different Plane (Special Element Injection)
  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
  • CWE-87: Improper Neutralization of Alternate XSS Syntax

Source file

swift/leaf-kit/CVE-2026-27120.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Thu, 26 Feb 2026 00:17:48 +0000.