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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-108381— dataclasses-avroschema pydantic-class metadata allows code injection in generated annotations

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 dataclasses、Pydantic 模型以及 Faust Records 生成 Avro 架构,并能从 Avro 架构生成 Python 代码。在 0.44.0 至 0.70.5 版本中,Pydantic 和 AvroDantic 模型生成器在生成的字段注解中,会在 之后直接插入架构字段的 值,且未对表达式进行安全限制。由于注解在导入生成的模块时会被求值,构造的恶意值可能执行任意 Python 代码。0.70.6 版本通过将该值限制为裸标识符(

CVSS 8.8 · High EPSS 0.30% · P21

Affected Version Matrix 1

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

I. Basic Information for CVE-2026-108381

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 pydantic-class metadata allows code injection in generated annotations
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.44.0 through 0.70.5, the Pydantic and AvroDantic model generators insert a schema field's pydantic-class value after pydantic. in a generated field annotation without safely restricting the expression. Because annotations are evaluated when the generated module is imported, a crafted value can execute arbitrary Python code. Version 0.70.6 fixes the vulnerability by restricting the value to a bare name or a call to a bare name with literal arguments.
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.44.0, < 0.70.6 -

II. Public POCs for CVE-2026-108381

# 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-108381

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

Patches & Fixes for CVE-2026-108381 (1)

Vendor Advisories for CVE-2026-108381 (1)

Vendor Pages for CVE-2026-108381 (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-108377 8.8 HIGH dataclasses-avroschema allows code injection through generated Meta.schema_name
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-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-108381

No comments yet


Leave a comment