Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-50290 EUVD-2026-64123GHSA-93q6-wwjh-jc6h

@asymmetric-effort/specifyjs: CSS expression sanitization is bypassable in renderToString

Published Aug 21, 2026 · Updated Aug 21, 2026 · Assigned by GitHub_M

Description

SpecifyJS is a declarative TypeScript user interface framework. Prior to version 0.2.136, 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(`). These CSS injection vectors only work in legacy browsers (IE6-IE10). SpecifyJS targets modern browsers. Starting in version 0.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.

Affected products

VendorProductAffectedFixed
asymmetric-effort specifyjs < 0.2.136 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm @asymmetric-effort/specifyjs < 0.2.136 0.2.136 GHSA-93q6-wwjh-jc6h

References