1. Apache Commons Fileupload [1]
- 파일 업로드 기능을 서블릿 및 웹 애플리케이션에 추가하기위한 패키지
2. 취약점 [2]
- 취약한 버전의 Apache Commons FileUpload에서 requestpart에 대해 제한을 두지 않아 발생하는 서비스 거부 취약점
제품명 | 영향받는 버전 |
Apache Commons FileUpload | 1.0-beta-1 ~ 1.4 |
Apache Tomcat | 11.0.0-M1 |
10.1.0-M1~ 10.1.4 | |
9.0.0-M1~ 9.0.70 | |
8.5.0~ 8.5.84 |
2.1 분석
- 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술 [3][4]
- Annotation의 용도는 다음과 같음
① 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공
② 소프트웨어 개발 툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보를 제공
③ 실행시(런타임시)특정 기능을 실행하도록 정보를 제공
- 취약점에 악용된 RequestPart 또한 Annotation으로 "multipart/form-data" 요청의 일부를 메서드 인수와 연결하는 데 사용하는 어노테이션임
- FileUploadBase.java의 내용을 확인해보면 처리할 요청 부분의 수를 제한하지 않는 것으로 판단됨. [5]
- 따라서 공격자는 악의적인 업로드 또는 일련의 업로드로 DoS를 트리거할 수 있음
3. 대응방안
① 벤더사에서 제공하는 최신 업데이트 적용 [8][6][7]
제품명 | 영향받는 버전 | 패치 버전 |
Apache Commons FileUpload | 1.0-beta-1 ~ 1.4 | 1.5 |
Apache Tomcat | 11.0.0-M1 | 11.0.0-M3 |
10.1.0-M1~ 10.1.4 | 10.1.5 | |
9.0.0-M1~ 9.0.70 | 9.0.71 | |
8.5.0~ 8.5.84 | 8.5.85 |
- 업데이트를 확인해보면 fileCountMax 변수를 이용해 파일 업로드 횟수에대한 제한을 적용한 것으로 판단됨.
4. 참고
[1] https://commons.apache.org/proper/commons-fileupload/index.html
[2] https://nvd.nist.gov/vuln/detail/CVE-2023-24998
[3] https://velog.io/@gillog/Spring-Annotation-%EC%A0%95%EB%A6%AC
[4] https://velog.io/@hwan2da/Spring-RequestBody-vs-RequestParam-vs-RequestPart-vs-ModelAttribute
[5] https://archive.apache.org/dist/commons/fileupload/source/
[6] https://archive.apache.org/dist/tomcat/
[7] https://commons.apache.org/proper/commons-fileupload/download_fileupload.cgi
[8] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71001&menuNo=205020
[9] https://blog.alyac.co.kr/5086
'취약점 > Denial of Service' 카테고리의 다른 글
Anonymous Sudan DDoS (0) | 2023.06.23 |
---|---|
BGP 프로토콜의 서비스 거부 취약점 (CVE-2022-40302, CVE-2022-40318, CVE-2022-43681) (0) | 2023.05.03 |
DDoS 공격 유형 #2 (0) | 2023.02.02 |
DDoS 공격 유형 (0) | 2023.02.02 |
OpenSSL 무한 루프로 인한 서비스 거부 공격 (CVE-2022-0778) (1) | 2023.01.30 |