
Drupal CVE-2024-45440
Drupal 11.x-dev의 core/authorize.php는 hash_salt 값이 존재하지 않는 파일의 file_get_contents인 경우(오류 로깅이 None인 경우에도) 전체 경로 공개(Full Path Disclosure)를 허용합니다.
python CVE-2024-45440.py

settings.php는 마운트 방식을 통해 컨테이너의 settings.php를 대체합니다.
settings.php를 교체한 후에는 설치할 수 없지만, http://127.0.0.1:8080/core/authorize.php에 직접 접근하면 구성 파일의 전체 경로가 노출됩니다.
정상적인 설치 과정은 다음과 같습니다.
먼저 docker-ccompose.yml 15행의 - ./settings.php:/opt/drupal/web/sites/default/settings.php를 주석 처리해야 정상적으로 설치할 수 있습니다.
docker 컨테이너 시작
docker-compose up -d
언어 선택

설치 방식 선택

데이터베이스 설정

나머지 옵션은 기본값
웹사이트 설정

나머지 옵션은 기본값으로 두고 설치를 진행합니다.
다음으로 개발자가 /sites/default/settings.php 파일의 268행에 있는 hash_salt 변수를 변경하는 상황을 시뮬레이션하기 위해 docker 컨테이너를 종료합니다.
docker-compose down
그런 다음 docker-ccompose.yml 15행의 - ./settings.php:/opt/drupal/web/sites/default/settings.php 주석을 해제하고 컨테이너를 다시 시작합니다.
docker-compose up -d
실습 환경 설정 완료
http://127.0.0.1:8080/core/authorize.php에 접속합니다.

구성 파일의 전체 경로가 노출됩니다.
또는 스크립트 사용
python CVE-2024-45440.py
