이번 주 다이제스트에서는 다음과 같은 내용을 다룹니다:
- 취소된 비동기 Redis 명령으로 인해 연결이 열려 있습니다;
- 서비스 사용자가 권한을 루트로 에스컬레이션할 수 있도록 허용하는 폴킷의 액세스 제어 문제입니다;
- 엘리멘터 프로의 심각도가 높은 액세스 제어 문제; 그리고
- 감사 추적을 생성하는 수단으로 Sudo 리플레이.
CVE-2023-28858: redis-py: 취소된 비동기 연결이 열려 있음
배경
redis-py는 Redis 키-값 저장소에 대한 Python 인터페이스로, 다양한 추상 데이터 유형을 지원합니다. Redis는 TCP를 통해 클라이언트를 연결할 수 있으며 비동기 클라이언트 처리를 지원합니다.
취약성
4.5.3 이하의 redis-py 버전에 영향을 미치는 초기 취약점인 CVE-2023-28858은 명령이 전송된 후 응답이 수신되기 전에 비동기 redis 명령이 취소될 때 발생합니다. 이로 인해 연결이 열린 상태로 남아 관련 없는 클라이언트로 응답 데이터를 전송하는 데 사용될 수 있습니다. 이 취약점의 근본 원인은 비동기 클라이언트(client.py)에서 취소된 요청을 처리하기 때문입니다. 전송된 명령은 나중에 명령이 취소되더라도 항상 응답을 기다리게 됩니다.
초기 취약점인 CVE-2023-2885는 수정으로 종료되었지만, 수정이 불완전하여 비파이프라인 작업이 취약하다는 이유로 유사한 문제가 다시 발생했습니다. CVE-2023-28859로 지정된 나머지 취약점은 전반적으로 비동기 연결에서 이러한 데이터 유출 문제를 해결하는 픽스로 패치되었습니다.
완화
- 이 취약점은 redis-py 버전 4.5.4에서 해결되었습니다. 이 문제를 해결하려면 최신 버전으로 업그레이드하는 것이 좋습니다.
폴킷: 서비스 사용자가 쓰기 가능한 기본 설정
배경
폴킷은 유닉스 계열 운영 체제에서 권한을 정의하고 처리하기 위한 툴킷으로, 일반적으로 권한이 없는 프로세스가 권한이 있는 프로세스와 대화할 수 있도록 허용하는 데 사용됩니다.
취약성
이 취약점은 기본 사용자 폴킷디가 액세스할 때 발생합니다. 이 사용자는 폴킷 규칙이 저장된 파일을 소유하고 있으며(권한이 700으로 설정됨) 루트 권한을 부여하는 규칙을 만들 수 있습니다.
폴킷드가 'nologin'으로 설정되어 있는 동안 이 가상 공격은 루트 권한 상승으로 이어질 수 있습니다.
취약점 보고자가 권장한 완화 방법은 이러한 발생을 방지하기 위해 /etc/polkit-1/rules.d 및 /usr/share/polkit-1/rules.d 파일의 권한을 root:polkitd, 750으로 변경하는 것이었습니다. 이러한 변경 사항은 얼마 지나지 않아 병합되었습니다.
완화
- 폴킷을 이미 설치한 경우, /etc/polkit-1/규칙.d 및 /usr/share/polkit-1/규칙.d의 권한을 root:polkitd, 750으로 변경하는 것이 좋습니다.
- 이 다이제스트 작성 시점에 이 패치가 포함된 새 릴리즈는 아직 출시되지 않았지만, 최신 버전의 폴킷이 출시되면 업그레이드하는 것이 좋습니다.
Elementor Pro: 심각도가 높은 액세스 제어 문제
배경
엘리멘터 프로는 1,200만 개 이상의 사이트에서 사용하는 것으로 추정되는 인기 프리미엄 워드프레스 플러그인입니다. 이 플러그인은 전문가 수준의 웹사이트 빌더, 위젯, 상업적 필요에 맞는 WooCommerce와의 통합 기능을 제공합니다.
취약성
이 다이제스트를 작성할 때 CVE가 지정되지 않은 이 취약점은엘리멘터 프로와 우커머스가 모두 설치된 워드프레스 사이트에 영향을 미칩니다. 특히, 업데이트_옵션 함수가 WooCommerce 모듈 컴포넌트에서 AJAX 액션에 의해 호출될 때 발생합니다. update_option 함수는 권한이 있는 사용자만 특정 상점 구성 요소를 업데이트할 수 있도록 허용해야 합니다. 그러나 이 함수는 권한이 높은 사용자에 대한 액세스를 제한하지 않으며 사용자 입력은 유효성이 검사되지 않습니다.
이 취약점을 통해 공격자는 일반적인 WooCommerce 고객 계정으로 웹사이트의 백엔드에 액세스할 수 있습니다. 이를 통해 공격자는 관리자 계정을 생성하고, 관리자의 이메일 주소를 변경하고, 모든 트래픽을 외부 사이트로 리디렉션할 수 있습니다.
완화
- 이 취약점은 엘리멘터 프로 버전 3.11.7에서 해결되었습니다. 이 문제를 해결하려면 최신 버전으로 업그레이드하는 것이 좋습니다.
sudo 재생: 감사 추적 만들기
배경
sudoreplay 는 sudo 출력 로그를 재생하는 명령줄 유틸리티로, sudo 1.8에서 사용할 수 있습니다. 이 유틸리티는 세션을 실시간 또는 명령줄에 지정된 속도로 재생할 수 있습니다.
방법
Wott에 게시된 블로그에서 작성자 빅토르 피터슨은 sudoreplay를 구성하고 sudo 로그를 출력하는 방법을 시연했습니다. 이 방법을 사용하면 sudo로 실행된 명령은 sudoreplay로 검색할 수 있는 감사 추적을 갖게 됩니다.
블로그에서 언급했듯이 /etc/sudoers 파일이 제대로 잠기지 않은 경우, 사용자는 /var/log/sudo-io를 지워 감사 추적을 삭제할 수 있습니다.
완화
- 로그를 원격 서버로 전송하면 로그를 로컬에 저장하는 대신 변조된 로그가 발생할 위험을 줄일 수 있습니다.
내용