
# CVE-2023-31606 문서: Redcloth gem의 sanitize_html 함수에서 발생하는 ReDoS 취약점 ## 개요 CVE-2023-31606은 Redcloth gem의 `sanitize_html` 함수에서 발견된 정규 표현식 서비스 거부(ReDoS) 취약점입니다. 이 취약점은 악의적으로 구성된 입력을 통해 과도한 CPU 사용을 유발하여 서비스 거부 상태를 초래할 수 있습니다. ## 근본 원인 분석 `sanitize_html` 함수는 HTML 입력을 정화하는 과정에서 비효율적인 정규 표현식 패턴을 사용합니다. 특정 입력 시퀀스가 주어지면 정규 표현식 엔진이 백트래킹을 반복적으로 수행하게 되어 시간 복잡도가 지수적으로 증가합니다. ## CVSS 점수 - **CVSS v3.1 점수:** 7.5 (High) - **공격 벡터:** 네트워크 (Network) - **공격 복잡성:** 낮음 (Low) - **필요한 권한:** 없음 (None) - **사용자 상호작용:** 필요 없음 (None) - **영향 범위:** 변경되지 않음 (Unchanged) - **기밀성 영향:** 없음 (None) - **무결성 영향:** 없음 (None) - **가용성 영향:** 높음 (High) ## OWASP 참조 이 취약점은 OWASP에서 분류하는 다음 카테고리와 관련이 있습니다: - **A03:2021 – 인젝션 (Injection)** - **A04:2021 – 안전하지 않은 설계 (Insecure Design)** ## 교육 목적 고지 이 문서는 보안 교육 및 연구 목적으로 제공됩니다. 취약점에 대한 이해를 돕기 위해 작성되었으며, 실제 공격이나 악용을 장려하지 않습니다. 보안 연구자와 개발자는 이 정보를 바탕으로 유사한 취약점을 식별하고 완화하는 데 활용해야 합니다.
redcloth gem >= v4.0.0의 sanitize_html 함수에서 정규 표현식 서비스 거부(ReDoS) 문제가 발견되었습니다. 이 취약점으로 인해 공격자는 조작된 페이로드를 제공하여 서비스 거부(DoS)를 유발할 수 있습니다.
OWASP에 따르면, 정규 표현식 서비스 거부(ReDoS)는 대부분의 정규 표현식 구현이 입력 크기와 기하급수적으로 관련된 매우 느린 동작을 유발하는 극단적인 상황에 도달할 수 있다는 사실을 악용하는 서비스 거부 공격입니다. 공격자는 정규 표현식을 사용하는 프로그램이 이러한 극단적인 상황에 진입하여 매우 오랫동안 멈추게 할 수 있습니다. 자세한 내용은 OWASP ReDoS를 참조하십시오.
/<(/)([A-Za-z]\w*)([^>]?)(\s?/?)>/
저장소에 대한 마지막 커밋은 2019-03-28에 이루어졌으며 마지막 버전 v4.3.2는 2016-05-24에 릴리스되었습니다. 이 프로젝트는 더 이상 유지 관리되지 않습니다.