~ / search / GHSA-93q6-wwjh-jc6h

GHSA-93q6-wwjh-jc6h

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

Source: GitHub Advisory Database (reviewed) Moderate CVE-2026-50290

Packages

EcosystemPackageAffectedFixed in
npm @asymmetric-effort/specifyjs < 0.2.136 0.2.136

Details

As written in the advisory (Markdown source, shown as plain text).

## 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.

References

External links from the advisory. They lead to third-party sites.