
needrestart Python CVE-2024-48990에 대한 나의 견해
이 간단한 셸 스크립트는 이 취약점이 작동하는 데 필요한 모든 파일을 생성합니다.
먼저 가짜 __init__.so 파일을 컴파일하는 데 사용될 무작위로 생성된 임시 파일을 생성합니다. 취약점이 트리거되면. 이 파일이 실행되어 bash 바이너리를 /tmp/ribbit에 복사하고 SUID 비트를 설정합니다. 다음으로 현재 작업 디렉토리에 importlib 디렉토리를 생성합니다. 그런 다음 생성된 임시 파일을 __init__.so로 컴파일하여 새로 생성된 디렉토리에 넣습니다. 마지막으로, 대기 상태로 취약점이 트리거되기를 기다리는 또 다른 무작위 이름의 임시 파이썬 파일을 생성합니다. 트리거되면 SUID가 설정된 bash 바이너리를 실행하여 root 셸을 얻습니다.
파이썬 스크립트가 시작되면. needrestart는 root 권한으로 실행되어야 합니다. 이는 일반적으로 apt-get을 사용할 때 수행됩니다.