CVE-2026-50290: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in asymmetric-effort specifyjs
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.
AI Analysis
Technical Summary
The vulnerability (CVE-2026-50290) exists in the renderToString function of @asymmetric-effort/specifyjs versions before 0.2.136. The CSS sanitization logic used simple regex to remove dangerous CSS expressions such as 'expression(' and 'url(javascript:'. However, attackers could bypass this filtering using CSS unicode escapes (e.g., '\65xpression('), null bytes, or CSS comments (e.g., 'exp/**/ression('). These bypass techniques allow injection of unsafe CSS expressions. The vectors are only effective in legacy browsers (IE6-IE10), which are not the target environment for SpecifyJS. The vulnerability is addressed in version 0.2.136 by normalizing unicode escapes, removing CSS comments before pattern matching, and adding checks for additional risky CSS properties like 'behavior:', '-moz-binding', and '-o-link'.
Potential Impact
This vulnerability could allow injection of unsafe CSS expressions in affected versions of SpecifyJS, potentially leading to cross-site scripting (XSS) issues in legacy browsers (IE6-IE10). Since SpecifyJS targets modern browsers, the practical impact is limited. There are no known exploits in the wild. The CVSS 4.0 base score is moderate, reflecting the limited attack surface and browser applicability.
Mitigation Recommendations
A fix is available in version 0.2.136 of @asymmetric-effort/specifyjs. Users should upgrade to version 0.2.136 or later to ensure proper CSS sanitization that normalizes unicode escapes, strips CSS comments, and checks for additional dangerous CSS patterns. No other mitigation is required as the vulnerability only affects legacy browsers not targeted by SpecifyJS.
CVE-2026-50290: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in asymmetric-effort specifyjs
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.
CVSS v4.0
Score 5.3medium
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability (CVE-2026-50290) exists in the renderToString function of @asymmetric-effort/specifyjs versions before 0.2.136. The CSS sanitization logic used simple regex to remove dangerous CSS expressions such as 'expression(' and 'url(javascript:'. However, attackers could bypass this filtering using CSS unicode escapes (e.g., '\65xpression('), null bytes, or CSS comments (e.g., 'exp/**/ression('). These bypass techniques allow injection of unsafe CSS expressions. The vectors are only effective in legacy browsers (IE6-IE10), which are not the target environment for SpecifyJS. The vulnerability is addressed in version 0.2.136 by normalizing unicode escapes, removing CSS comments before pattern matching, and adding checks for additional risky CSS properties like 'behavior:', '-moz-binding', and '-o-link'.
Potential Impact
This vulnerability could allow injection of unsafe CSS expressions in affected versions of SpecifyJS, potentially leading to cross-site scripting (XSS) issues in legacy browsers (IE6-IE10). Since SpecifyJS targets modern browsers, the practical impact is limited. There are no known exploits in the wild. The CVSS 4.0 base score is moderate, reflecting the limited attack surface and browser applicability.
Mitigation Recommendations
A fix is available in version 0.2.136 of @asymmetric-effort/specifyjs. Users should upgrade to version 0.2.136 or later to ensure proper CSS sanitization that normalizes unicode escapes, strips CSS comments, and checks for additional dangerous CSS patterns. No other mitigation is required as the vulnerability only affects legacy browsers not targeted by SpecifyJS.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-93q6-wwjh-jc6h
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-50290"]
- Ecosystems
- ["npm"]
- Database Specific Severity
- MODERATE
- Cvss Version
- 4.0
Threat ID: 6a46ecbb27e9c7971943cdf2
Added to database: 07/02/2026, 22:56:59 UTC
Last enriched: 08/22/2026, 11:08:31 UTC
Last updated: 09/14/2026, 01:40:08 UTC
Views: 124
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.