[하루한줄] Cisco Hyperflex: How We Got RCE Through Login Form and Other Findings

URL

https://swarm.ptsecurity.com/cisco-hyperflex-how-we-got-rce-through-login-form-and-other-findings/

Target

  • Cisco Hyperflex

Explain

Cisco HyperFlex에서 3개의 취약점이 발견되었습니다. HyperFlex는 여러 네트워크와 컴퓨팅 리소스를 하나의 플랫폼에 모아놓고 관리하고 사용할 수 있게 하는 시스템입니다. 발견된 취약점은 다음과 같습니다.

  • CVE-2021-1497 : 사용자 인증 과정에서 Command Injection 취약점(CVSS socre : 9.8)
  • CVE-2021-1498 : 요청 파라미터 처리 과정에서의 Command Injection 취약점(CVSS socre : 7.3)
  • CVE-2021-1499 : path traversal을 활용한 임의 위치에 File Upload 취약점(CVSS socre : 5.3)

여기에서는 제일 위험도가 높은 CVE-2021-1497에 대해서 알아보도록 하겠습니다.

Cisco Hyperflex에서는 /opt/springpath/auth/auth 바이너리에서 사용자의 인증 요청을 처리합니다. 바이너리에서 처리하는 요청 URL은 다음과 같습니다.

  • /auth
  • /auth/change
  • /auth/logout
  • /auth/verify
  • /auth/sessionInfo

이 중 /auth/auth/change는 유저로부터 계정 정보를 받는데, 이 때 파이썬 스크립트를 활용해 계정 정보를 해시화하는 작업을 진행합니다.

python -c "import crypt; print(crypt.crypt(\\"OUR_PASS\\", \\"$6$$\\"));"

따라서 패스워드 필드에 아래와 같은 스크립트를 삽입하면 시스템을 재부팅 시킬 수 있습니다.

123", "$6$$"));import os;os.system("reboot");print(crypt.crypt("