🔍 CVE-2025-56005

9.8
CVSS Score
CRITICAL
2026-01-20
2026-09-17 12:17
✅ 완료

🇰🇷 한글 설명

PLY(Python Lex-Yacc) 라이브러리 3.11 버전의 yacc() 함수 내 undocumented된 picklefile 매개변수를 통해 원격 코드 실행(RCE)이 가능합니다. 해당 매개변수는 검증 없이 pickle.load()를 호출하여 악성 피클 파일을 역직렬화함으로써 공격자가 임의의 코드를 실행할 수 있게 합니다.

💡 쉬운 설명

파이썬의 특정 도구에 숨겨진 기능이 있어, 공격자가 만든 특수한 파일을 실행하면 컴퓨터를 마음대로 조종할 수 있는 위험이 있습니다. 이 기능은 공식 문서에도 없는 숨겨진 통로와 같아서 매우 위험합니다.

🇺🇸 원문 (English)

An undocumented and unsafe feature in the PLY (Python Lex-Yacc) library 3.11 allows Remote Code Execution (RCE) via the `picklefile` parameter in the `yacc()` function. This parameter accepts a `.pkl` file that is deserialized with `pickle.load()` without validation. Because `pickle` allows execution of embedded code via `__reduce__()`, an attacker can achieve code execution by passing a malicious pickle file. The parameter is not mentioned in official documentation or the GitHub repository, yet it is active in the PyPI version. This introduces a stealthy backdoor and persistence risk. NOTE: A third-party states that this vulnerability should be rejected because the proof of concept does not demonstrate arbitrary code execution and fails to complete successfully.

📍 영향받는 시스템

PLY (Python Lex-Yacc) library version 3.11

⚔️ 공격 벡터

yacc() 함수의 picklefile 매개변수에 악성 .pkl 파일을 전달하여 역직렬화 과정에서 코드 실행

🛡️ 대응 방법

PLY 라이브러리를 최신 보안 패치 버전으로 업데이트하거나, 해당 라이브러리 사용 시 picklefile 매개변수 호출 여부를 점검하십시오.

🔧 검증 코드

출력된 Version이 3.11인 경우 해당 취약점에 노출되었을 가능성이 높습니다.

Shell / Script
pip show ply | grep -E 'Version'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Git