🇰🇷 한글 설명
PHP 7.2.x(7.2.26 미만), 7.3.x(7.3.13 미만), 7.4.0 버전의 DirectoryIterator 클래스에서 NULL( ) 바이트가 포함된 파일명을 허용하는 취약점이 발견되었습니다. 이 취약점은 NULL 바이트 이후의 문자열을 무시함으로써 경로 검증 로직을 우회할 수 있게 합니다.
💡 쉬운 설명
파일 이름 중간에 특수 기호(NULL)를 넣어 컴퓨터가 파일 경로를 잘못 읽게 만드는 문제입니다. 이를 통해 원래 접근하면 안 되는 파일에 몰래 접근할 수 있습니다.
🇺🇸 원문 (English)
In PHP versions 7.2.x below 7.2.26, 7.3.x below 7.3.13 and 7.4.0, PHP DirectoryIterator class accepts filenames with embedded \0 byte and treats them as terminating at that byte. This could lead to security vulnerabilities, e.g. in applications checking paths that the code is allowed to access.
📍 영향받는 시스템
PHP 7.2.x < 7.2.26, 7.3.x < 7.3.13, 7.4.0
⚔️ 공격 벡터
파일 경로 문자열에 NULL( ) 바이트를 삽입하여 경로 검증 로직을 우회하는 방식
🛡️ 대응 방법
PHP 버전을 7.2.26, 7.3.13 또는 7.4.1 이상의 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 취약한 버전 범위가 나타나면 해당 버전이 설치되어 있는 상태입니다.
php -v | grep -E 'PHP (7.2\[0-9]|7.3\[0-9]|7.4.0)'