Leaf-kit html escaping does not work on characters that are part of extended grapheme cluster
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| vapor | leaf-kit | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Vapor | Leafkit |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-4hfh-fch3-5q7p | Leaf-kit html escaping does not work on characters that are part of extended grapheme cluster |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.266% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:vapor:leafkit:*:*:*:*:*:*:*:* |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Vapor
Vapor leafkit |
|
| Vendors & Products |
Vapor
Vapor leafkit |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Leafkit is a templating language with Swift-inspired syntax. Prior to 1.4.1, 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. This vulnerability is fixed in 1.4.1. | |
| Title | Leaf-kit html escaping does not work on characters that are part of extended grapheme cluster | |
| Weaknesses | CWE-75 CWE-79 CWE-87 |
|
| References |
| |
| Metrics |
cvssV3_1
|