🇰🇷 한글 설명
Python-RSA 3.3 이전 버전의 verify 함수에서 작은 공개 지수(small public exponent)를 사용할 때 조작된 서명 패딩을 통해 서명을 위조할 수 있는 BERserk 공격 취약점입니다. 공격자가 서명 검증을 우회하여 위조된 디지털 서명을 유효하다고 인정받을 수 있습니다.
💡 쉬운 설명
RSA 디지털 서명을 검증하는 과정에서 결함이 있어 가짜 서명을 진짜로 인정할 수 있는 취약점입니다. 악의적인 공격자가 진짜가 아닌 서명을 통과시켜 데이터의 무결성을 손상시킬 수 있습니다.
🇺🇸 원문 (English)
The verify function in the RSA package for Python (Python-RSA) before 3.3 allows attackers to spoof signatures with a small public exponent via crafted signature padding, aka a BERserk attack.
📍 영향받는 시스템
Python-RSA (Python-rsa) 패키지 버전 3.3 미만
⚔️ 공격 벡터
작은 공개 지수(e=3 등)가 설정된 RSA 키 시스템에 대해 조작된 서명 패딩을 제공하여 검증 우회
🛡️ 대응 방법
Python-RSA를 3.3 이상으로 업그레이드: pip install --upgrade rsa
🔧 검증 코드
출력된 버전이 3.3 이상이면 안전합니다. 3.3 미만이면 업그레이드 필요합니다.
pip show rsa 2>/dev/null | grep Version || python -c "import rsa; print('Version:', rsa.__version__)"