포스팅 내용

국내외 보안동향

SaltStack에서 치명적인 취약점 발견돼

SaltStack reveals new critical vulnerabilities, patch now

 

VMware 소유 회사인 SaltStackSalt 버전 3002 및 이전 버전에 존재하는 치명적인 취약점 및 이를 수정하는 패치를 공개했습니다.

 

Salt는 전 세계 데이터 센터에서 광범위하게 사용되는 파이썬으로 작성된 오픈소스 IT 인프라 관리 솔루션입니다.

 

Salt를 사용하고 있을 경우 즉시 인스턴스를 패치할 것을 권장합니다.

 

셸 주입에서 인증 우회까지

 

이번에 공개된 취약점 3가지는 아래와 같습니다.

 

1. CVE-2020-16846 (높음/치명적)셸 인젝션 취약점으로 SaltStack SSH 클라이언트에서 "subprocess.call"을 호출할 때 `shell=True` 옵션을 제거하는 방식으로 패치되었습니다.

 

하위 프로세스인 파이썬 모듈을 사용하면 시스템에서 새 프로세스를 생성할 수 있습니다.

 

외부 사용자 입력과 `shell=True` 옵션을 포함한 명령어를 통해 옵션을 호출하는 것은 알려진 보안 위험입니다.

 

 

<49 행에서 셸 인젝션 공격을 방지하기 위해 "shell=True" 옵션이 제거됨>

<출처: https://github.com/saltstack/salt/commit/a553580971ffe08bc9c684a5071c43d3708f0ad6>

 

 

2. CVE-2020-25592 (높음/치명적)는 인증 우회 취약점입니다. 하지만 발표된 권고문에는 추가로 ‘CVE-2020-16804’ 취약점이 언급되었습니다.

 

“CVE-2020-16804 – eauth 자격 증명 및 토큰, ACL을 적절히 검증합니다.”

 

이 변경 이전에는 Salt-api를 통해 Salt ssh를 호출할 때 eauth가 제대로 검증되지 않았습니다. 'eauth'또는 'token'에 대한 모든 값은 사용자가 인증을 우회하고 Salt ssh를 호출하도록 허용할 수 있습니다.”

 

프로젝트 개발자가 제공한 테스트 케이스에서는 패치된 버전에서 가짜 eauth 데이터는 인증 검사를 통과하지 못하고 Salt 애플리케이션에서 예외를 발생시키는 것이 확인되었습니다.

 

3. CVE-2020-17490 (낮음) 취약점은 암호화 개인 키 파일을 열거나 저장할 때 접근 모드가 아닌 권한 문제와 관련됩니다.

 

CVETLS 모듈에서 create_ca, create_csr, create_self_signed_cert를 사용했던 모든 Minion Master에 영향을 미칩니다.”

 

“TLS 실행 모듈에서 create_ca, create_csr, create_self_signed_cert 함수를 사용하면 해당 키가 올바른 권한으로 생성되었는지 확인이 불가능합니다. CVE 수정을 통해 해당 키는 더 이상 world-readable 권한으로 생성되지 않고 600을 사용합니다.”

 

이 이슈는 ʻos.O_RDWR`(읽기-쓰기) 플래그를 포함한 SSH키를 열 때 `os.O_WRONLY` (쓰기 전용) 플래그를 대체하는 방식으로 수정되었습니다.

 

Bleeping Computer에서 확인한 결과, Shodan에서는 인터넷에 노출된 Salt Master 노드 6,000건을 찾을 수 있습니다. 이들 모두에 최신 버전이 설치되어 있지는 않을 것입니다.