🔍 CVE-2026-108376

8.8
CVSS Score
HIGH
2026-10-13
2026-10-16 23:16
✅ 완료

🇰🇷 한글 설명

dataclasses-avroschema 0.47.3부터 0.70.5 버전에서 FieldRepresentation.get_field_default 함수가 Avro 레코드 이름을 검증 없이 lambda 함수의 호출 위치에 삽입하는 취약점이 발견되었습니다. 공격자가 조작된 레코드 이름을 제공할 경우, 생성된 모델의 기본값을 소비할 때 임의의 파이썬 코드가 실행될 수 있습니다.

💡 쉬운 설명

데이터 형식을 만들어주는 프로그램이 이름표를 잘못 처리하여, 나쁜 코드가 섞인 이름표를 그대로 실행해버리는 문제입니다. 이를 통해 해커가 사용자의 컴퓨터에서 몰래 명령을 실행할 수 있습니다.

🇺🇸 원문 (English)

dataclasses-avroschema generates Avro schemas from Python dataclasses, Pydantic models, and Faust Records and generates Python code from Avro schemas. From version 0.47.3 through 0.70.5, FieldRepresentation.get_field_default inserts a schema-controlled referenced record name into the callable position of a generated default_factory lambda without validating it as an Avro name. A crafted record name can become an arbitrary Python expression that executes when an instance of the generated model consumes the field default. Version 0.70.6 fixes the vulnerability by rejecting record names that do not match the Avro name grammar.

📍 영향받는 시스템

dataclasses-avroschema versions 0.47.3 through 0.70.5

⚔️ 공격 벡터

조작된 Avro 레코드 이름을 포함한 스키마를 제공하여 생성된 모델의 default_factory 실행 시 코드 주입

🛡️ 대응 방법

dataclasses-avroschema를 취약점이 해결된 버전인 0.70.6 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 0.70.5 이하이면 취약한 상태이며, 0.70.6 이상이면 안전합니다.

Shell / Script
pip show dataclasses-avroschema 2>/dev/null | grep Version

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python