🇰🇷 한글 설명
DockerSpawner 0.11.0 버전부터 DockerSpawner.allowed_images 설정을 지정하지 않을 경우, 사용자가 의도된 이미지 외에 임의의 Docker 이미지를 실행할 수 있는 취약점이 존재합니다. 이 문제는 DockerSpawner 13 버전에서 수정되었으며, 업데이트가 불가능할 경우 허용된 이미지 목록을 명시적으로 설정해야 합니다.
💡 쉬운 설명
원래 정해진 프로그램만 실행되어야 하는데, 사용자가 마음대로 다른 프로그램을 설치하거나 실행할 수 있는 보안 구멍이 발견되었습니다. 이를 막으려면 프로그램을 최신 버전으로 업데이트하거나 사용할 수 있는 목록을 직접 지정해야 합니다.
🇺🇸 원문 (English)
dockerspawner is a tool to spawn JupyterHub single user servers in Docker containers. Users of JupyterHub deployments running DockerSpawner starting with 0.11.0 without specifying `DockerSpawner.allowed_images` configuration allow users to launch _any_ pullable docker image, instead of restricting to only the single configured image, as intended. This issue has been addressed in commit `3ba4b665b` which has been included in dockerspawner release version 13. Users are advised to upgrade. Users unable to upgrade should explicitly set `DockerSpawner.allowed_images` to a non-empty list containing only the default image will result in the intended default behavior.
📍 영향받는 시스템
DockerSpawner version 0.11.0 and above (without DockerSpawner.allowed_images configuration)
⚔️ 공격 벡터
사용자가 JupyterHub를 통해 허용되지 않은 임의의 Docker 이미지를 pull하여 실행함
🛡️ 대응 방법
DockerSpawner를 13 버전 이상으로 업그레이드하거나, DockerSpawner.allowed_images 설정을 명시적으로 지정함
🔧 검증 코드
출력된 버전이 13.0.0 미만인지 확인하여 취약 여부를 판단합니다.
pip show dockerspawner | grep Version