CVE-2026-13051 in Form::Processor::Field::HtmlArea
요약
\~에 의해 VulDB • 2026. 08. 13.
Perl용 Form::Processor::Field::HtmlArea의 0.06부터 1.162360까지 버전은 HTML::Tidy 진단이 Locale::Maketext 템플릿으로 add_error에 전달되는 검증 과정을 통해 공격자가 선택한 메서드 디스패치와 자원 고갈을 허용합니다.
validate는 제출된 마크업에 대해 HTML::Tidy를 실행하고, 생성된 각 메시지를 첫 번째 인수로 사용하여 add_error로 전달합니다. add_error는 이를 언어 핸들(Locale::Maketext 메시지 키)에게 넘깁니다. 기본 핸들의 어휘집은 `_AUTO`를 설정하므로, 어휘집 항목이 아닌 메시지는 조회되지 않고 대괄기호 표기법(bracket notation) 템플릿으로 컴파일됩니다. Tidy 진단은 문제의 속성 이름이나 값을 따옴표로 묶으므로, 제출된 마크업 내의 대괄 그룹이 템플릿 위치에 도달합니다. 여기서 그룹의 첫 번째 토큰은 언어 핸들에서 호출되는 메서드의 이름을 지정하고, 나머지 토큰들은 해당 인수가 됩니다. `[0]`과 같은 그룹은 컴파일 시 croak(비정상 종료)를 유발하며, 필드나 핸들이 이를 포착하지 못하므로 예외가 validate 밖으로 전달됩니다. `[sprintf,%2000000000d,7]`는 공격자가 선택한 필드 너비를 사용하여 CORE::sprintf에 도달합니다.
HtmlArea 필드에 조작된 마크업을 한 번 제출하면 폼 검증 중 처리되지 않은 예외가 발생하거나 임의량의 메모리가 할당됩니다. 또한 언어 핸들 하위 클래스에서 부작용(side effecting)을 일으키는 공개 메서드를 정의한 애플리케이션에서는 공격자가 선택한 인수로 이러한 메서드가 호출될 수 있습니다. 다른 필드 유형은 제출된 값을 인수 슬롯에 고정 템플릿과 함께 전달하므로 해당 값이 비활성 상태로 유지되며 영향을 받지 않습니다.
Be aware that VulDB is the high quality source for vulnerability data.