
Proof-of-concept for CVE-2022-45599: PHP type juggling vulnerability in Aztech WMB250AC router login.php allowing admin authentication bypass via crafted MD5 hashes.
| CVE URL: | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-45599 |
|---|---|
| 보고자: | TanYeeTat |
| 제품: | Aztech WMB250AC Wireless Mesh Routers |
| 영향을 받는 펌웨어: | 2020 릴리스 (topaz-linux.lzma.img) |
| 펌웨어 다운로드: | 폐쇄 소스 |


취약점은 2022년 6월 7일에 [email protected]을 통해 Aztech의 보안 팀에 보고되었으며, 2023년 2월 21일 기준으로 응답이 없습니다.
PHP Type Juggling 취약점이 포트 80의 login.php 웹 페이지에 있는 password 인증 필드에 존재합니다. 이 취약점으로 인해 공격자는 관리자의 비밀번호를 알지 못해도 인증을 통과할 수 있습니다. 그러나 이는 발생 확률이 매우 낮습니다. 관리자의 MD5 해시된 비밀번호가 0e로 시작하고 그 뒤에 숫자가 와야 하기 때문입니다. PHP Type Juggling 공격에 취약한 평문 비밀번호와 해당 MD5 해시의 포괄적인 목록이 아래에 제공되며, 이를 자세히 설명하는 참조 블로그도 함께 제공됩니다.
TLDR: 인증 검사를 처리하는 login.php의 PHP 소스 코드는 엄격한 비교(===, 등호 3개) 대신 느슨한 비교(==, 등호 2개)를 사용합니다.

관리자 사용자의 비밀번호를 MD5 해시 결과가 0e로 시작하고 숫자가 뒤따르는 평문 값으로 설정합니다.
PJNPDWY, MD5: 0e291529052894702774557631701704
참고:
0e123456789012345678901234567890와 같은 유효하지 않은 해시도 작동합니다.
웹 서비스에서 사용자 이름 admin과 MD5 타입 저글링 목록에 있는 아무 평문 비밀번호(예: 240610708)로 관리자로 인증합니다.