🔍 CVE-2023-24814

8.8
CVSS Score
HIGH
2023-02-07
2026-06-17 05:39
✅ 완료

🇰🇷 한글 설명

TYPO3 프레임워크의 핵심 구성 요소인 GeneralUtility::getIndpEnv()가 필터링되지 않은 PATH_INFO 서버 환경 변수를 사용하여 악성 콘텐츠 주입이 가능합니다. 공격자는 이를 통해 HTML 코드를 주입하여 캐시된 페이지를 통해 다른 방문자에게 전달되는 지속적 교차 사이트 스크립팅(Persisted XSS) 공격을 수행할 수 있습니다.

💡 쉬운 설명

웹사이트 관리 도구인 TYPO3의 보안 허점을 이용해 해커가 악성 코드를 심을 수 있는 문제입니다. 이렇게 심어진 코드는 웹사이트 방문자들의 브라우저에서 실행되어 개인정보를 탈취할 위험이 있습니다.

🇺🇸 원문 (English)

TYPO3 is a free and open source Content Management Framework released under the GNU General Public License. In affected versions the TYPO3 core component `GeneralUtility::getIndpEnv()` uses the unfiltered server environment variable `PATH_INFO`, which allows attackers to inject malicious content. In combination with the TypoScript setting `config.absRefPrefix=auto`, attackers can inject malicious HTML code to pages that have not been rendered and cached, yet. As a result, injected values would be cached and delivered to other website visitors (persisted cross-site scripting). Individual code which relies on the resolved value of `GeneralUtility::getIndpEnv('SCRIPT_NAME')` and corresponding usages (as shown below) are vulnerable as well. Additional investigations confirmed that at least Apache web server deployments using CGI (FPM, FCGI/FastCGI, and similar) are affected. However, there still might be the risk that other scenarios like nginx, IIS, or Apache/mod_php are vulnerable. The usage of server environment variable `PATH_INFO` has been removed from corresponding processings in `GeneralUtility::getIndpEnv()`. Besides that, the public property `TypoScriptFrontendController::$absRefPrefix` is encoded for both being used as a URI component and for being used as a prefix in an HTML context. This mitigates the cross-site scripting vulnerability. Users are advised to update to TYPO3 versions 8.7.51 ELTS, 9.5.40 ELTS, 10.4.35 LTS, 11.5.23 LTS and 12.2.0 which fix this problem. For users who are unable to patch in a timely manner the TypoScript setting `config.absRefPrefix` should at least be set to a static path value, instead of using auto - e.g. `config.absRefPrefix=/`. This workaround **does not fix all aspects of the vulnerability**, and is just considered to be an intermediate mitigation to the most prominent manifestation.

📍 영향받는 시스템

TYPO3 8.7.x (8.7.51 미만), 9.5.x (9.5.40 미만), 10.4.x (10.4.35 미만), 11.5.x (11.5.23 미만), 12.2.x (12.2.0 미만)

⚔️ 공격 벡터

필터링되지 않은 PATH_INFO 환경 변수를 조작하여 악성 HTML을 주입하고 이를 캐시에 저장시키는 방식

🛡️ 대응 방법

TYPO3를 최신 보안 패치 버전(8.7.51, 9.5.40, 10.4.35, 11.5.23, 12.2.0 이상)으로 업데이트하거나 config.absRefPrefix를 정적 경로로 설정

🔧 검증 코드

출력된 TYPO3 버전이 권장되는 보안 패치 버전보다 낮은지 확인합니다.

Shell / Script
composer show typonet/typo3 | grep 'versions'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L

💻 영향받는 소프트웨어

Nginx