
VMware Aria Operations < 4.18.5 및 VMware Tools - 로컬 권한 상승
VMware Aria Operations < 4.18.5 및 VMware Tools - 로컬 권한 상승
참고 자료에 나열된 문서를 읽으면 취약점에 대한 더 포괄적이고 자세한 설명을 얻을 수 있습니다.
요약
VMware Tools 내 get-versions.sh라는 셸 스크립트는 광범위 매칭 정규식 패턴(\S)을 사용하여 수신 소켓이 있는 실행 중인 프로세스를 식별합니다. 매칭된 프로세스에 대해 각각의 버전 플래그(-v, --version 등)로 프로세스를 실행하여 서비스의 실행 중인 버전을 검색합니다.
get-versions.sh 발췌 (18-26행):
get_version() {
PATTERN=$1
VERSION_OPTION=$2
for p in $space_separated_pids
do
COMMAND=$(get_command_line $p | grep -Eo "$PATTERN")
[ ! -z "$COMMAND" ] && echo VERSIONSTART "$p" "$("${COMMAND%%[[:space:]]*}" $VERSION_OPTION 2>&1)" VERSIONEND
done
}
get-versions.sh 발췌 (119-124행):
get_version "/\S+/(httpd-prefork|httpd|httpd2-prefork)($|\s)" -v
get_version "/usr/(bin|sbin)/apache\S*" -v
get_version "/\S+/mysqld($|\s)" -V
get_version "\.?/\S*nginx($|\s)" -v
get_version "/\S+/srm/bin/vmware-dr($|\s)" --version
get_version "/\S+/dataserver($|\s)" -v
최상단 줄 /\S+/httpd($|\s)는 /usr/bin/httpd와 같은 올바른 설치 경로를 매칭하도록 설계되었습니다. 그러나 권한이 없는 사용자가 전역 쓰기 가능 디렉터리인 /tmp/httpd에 스크립트를 생성하고 프로세스를 실행하면, 수신 소켓(어떤 인터페이스든 - 심지어 localhost라도)이 있는 한 VMware Tools 스크립트에 의해 상승된 컨텍스트에서 실행되어 로컬 권한 상승을 달성합니다. 이로 인해 악의적인 사용자가 리버스 셸을 실행하거나, root 사용자를 생성하거나, 궁극적으로 선택한 어떤 상승된 작업도 수행할 수 있습니다.
golang 스크립트가 실행되어 수신 소켓을 생성합니다. get-versions.sh 스크립트가 /tmp/[SERVICE]의 정규식 표현과 매칭되면, 상승된 컨텍스트에서 스크립트를 실행합니다. 스크립트가 상승된 컨텍스트에서 실행되면 수신 소켓을 생성하는 대신 임의의 명령(예: /bin/bash -i)을 실행하여 권한 상승을 획득합니다.
https://blog.nviso.eu/2025/09/29/you-name-it-vmware-elevates-it-cve-2025-41244/