🇰🇷 한글 설명
Zope AccessControl 7.4 미만 버전에서 str.format 및 str.format_map 메서드가 str 서브클래스를 통해 호출될 때 보안 검사를 우회하는 취약점이 발견되었습니다. 공격자가 제어 가능한 포맷 문자열을 사용하면 정책 제한을 받지 않는 getattr 및 getitem 동작을 통해 접근 가능한 객체의 속성을 재귀적으로 노출할 수 있습니다.
💡 쉬운 설명
사용자가 입력한 글자 형식을 처리하는 과정에서 보안 규칙을 무시하고 시스템 내부의 중요한 정보를 몰래 읽어낼 수 있는 결함입니다. 공격자가 특수하게 조작된 문구를 입력하면 허용되지 않은 데이터에 접근할 수 있습니다.
🇺🇸 원문 (English)
Zope AccessControl provides a general security framework for use in Zope. Prior to 7.4, applications that allow untrusted users to create and execute AccessControl-controlled Python code do not safely guard str.format and str.format_map when those methods are reached through a str subclass. In both ImplPython.py and cAccessControl.c, Python formatting can recursively access attributes and subscriptions using unrestricted getattr and getitem behavior instead of the policy-restricted getattr and getitem operations. A controlled format string can therefore disclose objects reachable from values available to the formatting operation. This issue is fixed in version 7.4.
📍 영향받는 시스템
Zope AccessControl 7.4 미만 버전
⚔️ 공격 벡터
신뢰할 수 없는 사용자가 조작된 포맷 문자열을 포함한 Python 코드를 실행하도록 유도하여 데이터 유출
🛡️ 대응 방법
Zope AccessControl을 7.4 버전 이상으로 업데이트
🔧 검증 코드
출력된 Version 값이 7.4 미만이면 취약한 상태이며, 7.4 이상이면 안전합니다.
pip show Zope.AccessControl 2>/dev/null | grep -E 'Version'