🇰🇷 한글 설명
Jervis 라이브러리의 자바 유용성 라이브러리에서 사용된 java.util.Random() 함수는 암호학적으로 안전하지 않아 타이밍 공격에 취약합니다.
💡 쉬운 설명
Jervis 라이브러리는 Jenkins 파이프라인 라이브러리에 사용되며, 암호학적으로 안전하지 않은 랜덤 함수를 사용하여 타이밍 공격에 취약합니다. 이 취약점은 Jervis 2.2 버전에서 수정되었습니다. Jenkins 파이프라인 라이브러리를 사용하는 시스템은 취약할 수 있습니다.
🇺🇸 원문 (English)
Jervis is a library for Job DSL plugin scripts and shared Jenkins pipeline libraries. Prior to 2.2, Jervis uses java.util.Random() which is not cryptographically secure for timing attack mitigation. This vulnerability is fixed in 2.2.
📍 영향받는 시스템
Jervis 라이브러리 버전 2.2 이전의 Jenkins 파이프라인 라이브러리
⚔️ 공격 벡터
タイミング 공격을 통해 시스템의 랜덤 함수를 예측할 수 있습니다.
🛡️ 대응 방법
Jervis 라이브러리를 2.2 버전 이상으로 업데이트합니다.
🔧 검증 코드
로컬 시스템에서 Python이 설치되어 있는 경우에 사용 가능합니다. pip 패키지 관리자를 사용하여 Jervis 라이브러리 버전을 확인합니다. 코드를 실행하기 전에 pip가 설치되어 있는지 확인해야 합니다.
import subprocess
result = subprocess.run(['pip', 'show', 'jervis'], capture_output=True, text=True)
if 'Version: 2.2' in result.stdout:
print({"result": "양호", "reason": "Jervis 라이브러리 버전이 2.2 이상입니다."})
else:
print({"result": "취약", "reason": "Jervis 라이브러리 버전이 2.2 미만입니다."})