Skip to main content
← All vulnerabilities
CVE-2026-50290GHSA-93Q6-WWJH-JC6H

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.2.136
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • asymmetric-effort specifyjs

    fixed in 0.2.136

  • @asymmetric-effort/specifyjsnpm

    fixed in 0.2.136

References 2

GitHub · asymmetric-effort/specifyjs