Cross-site Scripting (XSS) Affecting py3-jupyterlab package, versions <4.6.1-r1


Severity

Recommended
0.0
medium
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
0.28% (20th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-WOLFILATEST-PY3JUPYTERLAB-17800618
  • published3 Jul 2026
  • disclosed27 Mar 2026

Introduced: 27 Mar 2026

CVE-2026-33916  (opens in a new tab)
CWE-79  (opens in a new tab)
CWE-1321  (opens in a new tab)

How to fix?

Upgrade Wolfi py3-jupyterlab to version 4.6.1-r1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream py3-jupyterlab package and not the py3-jupyterlab package as distributed by Wolfi. See How to fix? for Wolfi relevant fixed versions and status.

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, resolvePartial() in the Handlebars runtime resolves partial names via a plain property lookup on options.partials without guarding against prototype-chain traversal. When Object.prototype has been polluted with a string value whose key matches a partial reference in a template, the polluted string is used as the partial body and rendered without HTML escaping, resulting in reflected or stored XSS. Version 4.7.9 fixes the issue. Some workarounds are available. Apply Object.freeze(Object.prototype) early in application startup to prevent prototype pollution. Note: this may break other libraries, and/or use the Handlebars runtime-only build (handlebars/runtime), which does not compile templates and reduces the attack surface.

CVSS Base Scores

version 3.1