Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-108377— dataclasses-avroschema allows code injection through generated Meta.schema_name

Quick assessment

Affected
marcosschroh dataclasses-avroschema
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

dataclasses-avroschema 可从 Python dataclass、Pydantic 模型和 Faust Records 生成 Avro 模式,并可根据 Avro 模式生成 Python 代码。在版本 0.62.3 至 0.70.5 中, 方法会将由模式控制的 Avro 记录名称直接插入到生成的 Python 源码中 字段的引号内,而未对该名称进行转义处理。攻击者可构造特殊的名称以终止字符串字面量,并向生成的类体中注入可执行语句;当导入生成的模块时,这些注入的代码将被执行。版本 0.70.6 通过

CVSS 8.8 · High

Possible ATT&CK Techniques 1 AI

T1195 · Supply Chain Compromise

Affected Version Matrix 1

VendorProduct Version RangeStatus
marcosschroh dataclasses-avroschema >= 0.62.3, < 0.70.6 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-108377

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
dataclasses-avroschema allows code injection through generated Meta.schema_name
Source: CVE Program / CVE List V5
Vulnerability Description
dataclasses-avroschema generates Avro schemas from Python dataclasses, Pydantic models, and Faust Records and generates Python code from Avro schemas. From version 0.62.3 through 0.70.5, ClassRepresentation.render_metaclass inserts a schema-controlled Avro record name into the quoted Meta.schema_name field of generated Python source without escaping it. A crafted name can terminate the string literal and inject statements into the generated class body, which execute when the generated module is imported. Version 0.70.6 fixes the vulnerability by escaping schema values rendered into generated string literals.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
对生成代码的控制不恰当(代码注入)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
marcosschroh dataclasses-avroschema >= 0.62.3, < 0.70.6 -

II. Public POCs for CVE-2026-108377

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-108377

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-108377 (1)

Vendor Pages for CVE-2026-108377 (1)

Same Patch Batch · marcosschroh · 2026-10-13 · 11 CVEs total

CVE-2026-108376 8.8 HIGH dataclasses-avroschema allows code injection through record names in generated default fac
CVE-2026-108375 8.8 HIGH dataclasses-avroschema allows code injection through generated field-default literals
CVE-2026-108380 8.8 HIGH dataclasses-avroschema field documentation allows code injection in generated Pydantic des
CVE-2026-108378 8.8 HIGH dataclasses-avroschema record documentation can terminate generated class docstrings
CVE-2026-108381 8.8 HIGH dataclasses-avroschema pydantic-class metadata allows code injection in generated annotati
CVE-2026-108379 8.8 HIGH dataclasses-avroschema fixed namespaces allow code injection in generated annotations
CVE-2026-108382 8.8 HIGH dataclasses-avroschema allows code injection through generated enum-symbol string literals
CVE-2026-108383 8.8 HIGH dataclasses-avroschema enum field defaults can inject statements into generated modules
CVE-2026-108385 8.8 HIGH dataclasses-avroschema enum symbols can inject statements through generated member names
CVE-2026-108384 8.8 HIGH dataclasses-avroschema allows code injection through fixed-type aliases supplied as a bare

IV. Related Vulnerabilities

V. Comments for CVE-2026-108377

No comments yet


Leave a comment