Szablon rozszerzenia JupyterLab oparty na narzędziu `copier` zawiera podatność RCE w workflow GitHub Actions (`update-integration-tests.yml`). Podatność pozwala niezaufanym użytkownikom na zdalne wykonanie kodu w kontekście pipeline CI/CD repozytoriów zbudowanych na tym szablonie.
▸ Pokaż oryginał (EN)
JupyterLab extension template is a `copier` template for JupyterLab extensions. Repositories created using this template with `test` option include `update-integration-tests.yml` workflow which has an RCE vulnerability. Extension authors hosting their code on GitHub are urged to upgrade the template to the latest version. Users who made changes to `update-integration-tests.yml`, accept overwriting of this file and re-apply your changes later. Users may wish to temporarily disable GitHub Actions while working on the upgrade. We recommend rebasing all open pull requests from untrusted users as actions may run using the version from the `main` branch at the time when the pull request was created. Users who are upgrading from template version prior to 4.3.0 may wish to leave out proposed changes to the release workflow for now as it requires additional configuration.
Repozytoria utworzone przy użyciu szablonu z włączoną opcją `test` zawierają plik workflow `update-integration-tests.yml`, który jest podatny na RCE. Atakujący może stworzyć złośliwy pull request do repozytorium opartego na tym szablonie, a ponieważ akcje GitHub mogą być uruchamiane z wersji znajdującej się w gałęzi `main` w momencie otwarcia pull requestu, niezaufany kod może zostać wykonany w środowisku CI/CD bez wymaganej autoryzacji.
Atakujący może zdalnie wykonać dowolny kod w środowisku CI/CD (GitHub Actions) repozytorium ofiary, co może prowadzić do kradzieży sekretów, modyfikacji kodu źródłowego lub kompromitacji całego pipeline'u wdrożeniowego.
Należy zaktualizować szablon rozszerzenia do najnowszej wersji i nadpisać plik `update-integration-tests.yml`, a następnie ponownie zastosować własne zmiany. Zaleca się tymczasowe wyłączenie GitHub Actions podczas procesu aktualizacji. Wszystkie otwarte pull requesty od niezaufanych użytkowników powinny zostać poddane rebase. Użytkownicy migrujący z wersji przed 4.3.0 powinni pominąć proponowane zmiany w workflow wydania do czasu dodatkowej konfiguracji.
Repozytoria rozszerzeń JupyterLab utworzone przy użyciu szablonu `jupyterlab/extension-template` z włączoną opcją `test`, hostowane na GitHub — w wersjach szablonu sprzed najnowszej poprawki (szczególnie przed wersją 4.3.0).
Podatność dotyczy infrastruktury CI/CD (GitHub Actions), a nie bezpośrednio środowiska JupyterLab użytkownika końcowego. Zagrożone są wyłącznie repozytoria hostowane na GitHub, które zostały wygenerowane przy użyciu podatnego szablonu z opcją `test`.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HJupyter Jupyterlab
APPJupyter< 4.3.0
Powiązane podatności
JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Noteb...
jupyterlab is an extensible environment for interactive and reproducible computing, based on the Jupyter Noteb...
jupyterlab is an extensible environment for interactive and reproducible computing, based on the Jupyter Noteb...
JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Noteb...
JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook....