홈으로 돌아가기

CVE-2024-48990: Needrestart Linux의 LPE

Needrestart의 CVE-2024-48990 취약점으로 PYTHONPATH 조작을 통한 LPE 가능. 메커니즘 분석, PoC 익스플로잇 및 Ubuntu, Debian 패칭. 서버 보호 권장사항.

Needrestart를 통한 LPE: CVE-2024-48990 상세
Advertisement 728x90

Needrestart 취약점 CVE-2024-48990을 이용한 Linux 권한 상승

CVE-2024-48990 취약점은 Needrestart 유틸리티 3.8 이하 버전에서 로컬 권한 상승(LPE)을 허용합니다. 이 문제는 PYTHONPATH 환경 변수 처리에 있으며, 루트 권한으로 임의 코드 실행을 가능하게 합니다. Ubuntu 21.04 이상, Debian, Fedora 및 기타 Linux 배포판에 영향을 미칩니다. CVSS 점수: 7.8.

Needrestart는 라이브러리 업데이트 후 프로세스를 스캔하고 취약한 서비스를 재시작합니다. 공격은 Python, Perl, Ruby의 모듈 로딩 경로에 대한 불충분한 제어를 악용하여 이를 악성 것으로 대체합니다.

시스템 취약점 확인

버전을 확인하려면 다음 명령어를 실행하세요:

Google AdInline article slot
needrestart --version | grep -q "3.7" && echo "Definitely vulnerable" || echo "Version is potentially not vulnerable, this simply checks for 3.7"

3.8 미만 버전은 취약합니다. 이 유틸리티는 apt를 통해 패키지 설치 중 자동으로 실행되므로 활용 창이 생깁니다.

단계별 활용

데모를 위해 공개 PoC를 사용하세요. 저장소를 복제하고 일반 사용자 권한으로 스크립트를 실행하세요:

cd CVE-2024-48990-PoC-Testing
./runner.sh

스크립트는 PYTHONPATH를 악성 모듈로 설정합니다. 그런 다음 루트 또는 sudo를 통해 Needrestart를 트리거하는 작업을 수행하세요. 예:

Google AdInline article slot
sudo apt remove ntp; sudo apt install ntp

이로 인해 루트 권한으로 코드가 실행되어 리버스 쉘 또는 직접 접근이 열립니다.

기술적 공격 세부 사항

취약점은 PYTHONPATH 파싱 중 발생합니다: Needrestart가 경로를 검증하지 않아 권한이 상승된 상태로 모듈이 로드될 수 있습니다. PERL5LIB와 RUBYLIB에도 동일하게 적용됩니다.

  • 공격자가 PYTHONPATH=/path/to/malicious로 설정합니다.
  • Needrestart가 스캔 중 지정된 경로에서 모듈을 가져옵니다.
  • 페이로드가 루트 권한으로 실행됩니다.

로컬 접근과 다른 사용자(sudo)에 의한 Needrestart 호출이 필요합니다.

Google AdInline article slot

보호 조치 및 패치

  • Needrestart 3.8 이상으로 업데이트: 환경 변수 검증 강화로 취약점 수정.
  • /etc/needrestart/needrestart.conf에서 인터프리터 스캔 비활성화:

```

$nrconf{interpscan} = 0;

```

  • auditd 또는 falco를 사용해 환경 변수 모니터링.
  • AppArmor 또는 SELinux를 사용해 Needrestart 제한.

주요 사항

  • CVE-2024-48990은 초기 루트 접근 없이 PYTHONPATH를 통해 활용됩니다.
  • 기본적으로 Needrestart가 활성화된 Ubuntu 21.04+ 서버, Debian, Fedora에 영향.
  • 3.8 버전 패치: 전체 모듈 경로 검증.
  • 권장: 위험 최소화를 위해 interpscan 비활성화.
  • 배포 전에 격리된 환경에서 업데이트 테스트.

— Editorial Team

Advertisement 728x90

다음 읽기