mediumVulnerability

CVE-2026-50290

## Finding **Location**: `core/src/server/render-to-string.ts:307-311` CSS value sanitization stripped `expression(` and `url(javascript:` using simple regex, but could be bypassed with CSS unicode escapes (`\65xpression(`), null bytes, or CSS comments (`exp/**/ression(`). **Mitigating Factor**: These CSS injection vectors only work in legacy browsers (IE6-IE10). SpecifyJS targets modern browsers. ## Status **Fixed in v0.2.136** — CSS sanitization now normalizes unicode escapes and strips CSS comments before pattern matching. Also checks for `behavior:`, `-moz-binding`, and `-o-link` patterns.

Properties

ghsa_id
GHSA-93q6-wwjh-jc6h
severity
medium
summary
@asymmetric-effort/specifyjs: CSS expression sanitization is bypassable in renderToString
cve_id
CVE-2026-50290
is_ghsa_only
false
ghsa_published
2026-07-02T19:08:45Z
source_url
https://github.com/advisories/GHSA-93q6-wwjh-jc6h
ghsa_updated
2026-07-02T19:08:46Z

Related Entities (4)

VULNERABLE_TO (1)

[Software]npm/@asymmetric-effort/specifyjs

AFFECTS (1)

[Software]npm/@asymmetric-effort/specifyjs

HAS_WEAKNESS (1)

[Weakness]Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-50290 — Ninja Signal Threat Intelligence | Ninja Signal