CVE-2026-73416
jupyterlab: PyPI extension blocklist package-name canonicalization bypass
Что произошло
jupyterlab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. From 4.5.0 until 4.5.10 and 4.6.2, in jupyterlab/extensions/manager.py and jupyterlab/extensions/pypi.py, JupyterLab's PyPI extension manager enforces blocked_extensions_uris by comparing requested install names to blocklist entries with custom normalization that is weaker than PyPI package-name canonicalization. An authenticated user can request a PyPI-equivalent spelling such as JupyterLab.Git for a blocklisted package such as jupyterlab-git, and JupyterLab accepts the install request even though pip resolves the variant to the same package. Security impact requires an allowlist or blocklist intended to restrict package installation, the PyPI Extension Manager, and kernels and terminals that are disabled or delegated to remote hosts. The bypass lets an authenticated user install a prohibited extension, defeat integrity restrictions, and affect availability without gaining new read access. This issue is fixed in versions 4.5.10 and 4.6.2.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
jupyterlab / jupyterlab
{
"status": "affected",
"version": ">= 4.5.0, < 4.5.10"
}{
"status": "affected",
"version": ">= 4.6.0, < 4.6.2"
}jupyterlab PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "4.5.10",
"versionStartIncluding": "4.5.0"
}{
"status": "affected",
"version": "*",
"versionEndExcluding": "4.6.2",
"versionStartIncluding": "4.6.0"
}jupyterlab PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "4.6.2",
"versionStartIncluding": "4.6.0"
}jupyterlab PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "4.5.10",
"versionStartIncluding": "4.5.0"
}CVSS: оценки и векторы
CVSS 4.0 · cve6.1
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve"
],
"epss": {
"source": "epss",
"received_at": "2026-11-03T21:14:56.500384+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T18:48:08.708691+00:00"
},
"scores": [
"cve"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T18:48:08.708691+00:00"
},
"affected": [
"cve",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T18:48:08.708691+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-03T21:14:56.500384+00:00"
},
"references": [
"cve",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T18:48:08.708691+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены04.11.2026, 00:14
- Данные обновлены03.11.2026, 00:14
- Данные обновлены02.11.2026, 15:12
- Данные обновлены02.11.2026, 13:39
- Данные обновлены02.11.2026, 00:12
- Данные обновлены31.10.2026, 11:59
- Данные обновлены29.10.2026, 12:39
- Опубликована28.10.2026, 21:48
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2024-39700 Remote Code Execution (RCE) vulnerability in jupyterlab extension template `update-integration-tests` GitHub Action jupyterlab / extension-template · jupyter / extension-template | Критический | 10.0 | 1,09 % | PoCПатч | 16.07.2024 | |
| CVE-2026-40171 Jupyter Notebook and JupyterLab token theft via stored XSS in help command linker jupyter / notebook · jupyterlab / help-extension | Высокий | 8.4 | 0,48 % | 06.05.2026 | ||
| CVE-2026-102832 JupyterLab: Command link trust prompt in JupyterLab can trust a document other than the one clicked jupyterlab / jupyterlab · jupyterlab / jupyterlite-core | Средний | 4.2 | 0,14 % | 13.10.2026 | ||
| CVE-2026-67338 JupyterLab before 4.5.9 Stored XSS via Extension Manager jupyterlab / jupyterlab · jupyterlab | Средний | 5.1 | 0,31 % | Патч | 01.08.2026 | |
| CVE-2026-102904 JupyterLab: Argument injection in JupyterLab extension uninstall exposes server-readable files and internal URLs jupyterlab / jupyterlab · jupyterlab | Средний | 5.4 | 0,21 % | 29.09.2026 |