🇰🇷 한글 설명
devpi의 primary 또는 master 역할로 설정된 서버에서 인증되지 않은 사용자가 수정된 GET 요청을 통해 +changelog 경로에 접근할 수 있는 취약점입니다. 이로 인해 Argon2 비밀번호 해시, 토큰 식별자 및 솔트 등 데이터베이스의 전체 내용이 노출될 수 있으며, 대량의 응답으로 인한 자원 고갈이 발생할 수 있습니다.
💡 쉬운 설명
인증 없이 서버의 중요한 정보가 담긴 기록을 몰래 훔쳐볼 수 있는 보안 구멍이 발견되었습니다. 해커가 이 정보를 이용해 비밀번호를 알아내거나 서버를 느리게 만들 수 있습니다.
🇺🇸 원문 (English)
devpi is a Python package index staging server and packaging, testing, and release tool. Prior to 6.20.2 and 7.0.0b3, a server configured with the primary or deprecated master role allows an unauthenticated, modified GET request to the +changelog route because verify_primary does not reject a missing identity and therefore fails to require ReplicaIdentity. The response can disclose complete database content, including Argon2 password hashes and identifiers and salts for devpi-tokens; exposed hashes may be subject to dictionary attacks, and public tokens may assist attempts to derive the server secret. Large responses can also consume significant CPU, input/output capacity, and bandwidth. Servers using the standalone role are not exposed through replication, and an instance served exclusively through nginx with devpi-lockdown redirects the request to login with no known exploit. This issue is fixed in devpi-server versions 6.20.2 and 7.0.0b3.
📍 영향받는 시스템
devpi-server versions prior to 6.20.2 and 7.0.0b3 (configured with primary or deprecated master role)
⚔️ 공격 벡터
인증되지 않은 사용자가 조작된 GET 요청을 +changelog 경로로 전송
🛡️ 대응 방법
devpi-server를 6.20.2 또는 7.0.0b3 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 6.20.2 미만이거나 7.0.0b3 미만인 경우 취약한 상태입니다.
pip show devpi-server 2>/dev/null | grep -E 'Version'