🇰🇷 한글 설명
Sudo 1.8.29 이하 버전에서 사용자가 차단된 상태(예: shadow 파일에 비밀번호 해시 대신 ! 문자가 사용됨)임에도 이를 고려하지 않는 취약점이 존재합니다. 이로 인해 Runas ALL 권한을 가진 공격자가 차단된 사용자로 사칭할 수 있습니다. 다만, 유지 관리자는 로컬 비밀번호 인증 비활성화가 모든 접근 차단을 의미하지 않는다고 주장합니다.
💡 쉬운 설명
비밀번호를 사용하지 못하도록 막아둔 계정이라도, 특정 권한을 가진 사람이 sudo 명령어를 이용해 해당 계정인 것처럼 속여서 사용할 수 있는 문제입니다. 계정의 보안 설정이 완벽하게 작동하지 않을 수 있음을 의미합니다.
🇺🇸 원문 (English)
In Sudo through 1.8.29, the fact that a user has been blocked (e.g., by using the ! character in the shadow file instead of a password hash) is not considered, allowing an attacker (who has access to a Runas ALL sudoer account) to impersonate any blocked user. NOTE: The software maintainer believes that this CVE is not valid. Disabling local password authentication for a user is not the same as disabling all access to that user--the user may still be able to login via other means (ssh key, kerberos, etc). Both the Linux shadow(5) and passwd(1) manuals are clear on this. Indeed it is a valid use case to have local accounts that are _only_ accessible via sudo and that cannot be logged into with a password. Sudo 1.8.30 added an optional setting to check the _shell_ of the target user (not the encrypted password!) against the contents of /etc/shells but that is not the same thing as preventing access to users with an invalid password hash
📍 영향받는 시스템
Sudo 1.8.29 및 그 이전 버전
⚔️ 공격 벡터
Runas ALL 권한을 가진 사용자가 sudo를 통해 비밀번호가 비활성화된 계정으로 사칭 시도
🛡️ 대응 방법
Sudo를 최신 버전(1.8.30 이상 권장)으로 업데이트하거나 보안 정책을 재검토하십시오.
🔧 검증 코드
출력된 버전이 1.8.29 이하인지 확인하여 취약 여부를 판단합니다.
sudo --version | grep -E 'Sudo [0-9]+\.[0-9]+'