<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 06 Oct 2026 23:30:57 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-54655 — `datamodel-code-generator` vulnerable to code execution on import via `x-python-type` JSON-Schema extension in datamode…</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-54655</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; koxudaxi datamodel-code-generator&lt;/p&gt;
&lt;p&gt;datamodel-code-generator generates Python data models from schema definitions. From 0.51.0 until 0.60.2, x-python-type values parsed by src/datamodel_code_generator/parser/jsonschema.py in _get_python_type_override are inserted into generated field annotations without sufficient validation, allowing attacker-controlled JSON Schema content to execute Python code when the generated module is imported. This issue is fixed in version 0.60.2.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; koxudaxi datamodel-code-generator&lt;/p&gt;
&lt;p&gt;datamodel-code-generator generates Python data models from schema definitions. From 0.51.0 until 0.60.2, x-python-type values parsed by src/datamodel_code_generator/parser/jsonschema.py in _get_python_type_override are inserted into generated field annotations without sufficient validation, allowing attacker-controlled JSON Schema content to execute Python code when the generated module is imported. This issue is fixed in version 0.60.2.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-54655</guid>
    </item>
    <item>
      <title>PYSEC-2026-3562 — `datamodel-code-generator` vulnerable to code execution on import via `x-python-type` JSON-Schema extension in datamode…</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-3562</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: datamodel-code-generator&lt;/p&gt;
&lt;p&gt;### Summary
`datamodel-code-generator` honours a custom `x-python-type` JSON-Schema extension that lets a schema author override the generated Python type for a field. The value is forwarded verbatim into the generated Python source as the field annotation, with a single sanitisation pass that is trivial to bypass. An attacker who controls a JSON Schema fed to `datamodel-codegen` can therefore embed an arbitrary Python statement in the generated module, which executes at class-definition time the moment the developer imports the file. No `--extra-template-data` and no special flags are required; the vulnerable code is reachable with default settings.&lt;/p&gt;
&lt;p&gt;### Details
Sink: `src/datamodel_code_generator/parser/jsonschema.py`, `_get_python_type_override` (lines 2055–2096, at tag `0.60.1` / commit `a321547e`):&lt;/p&gt;
&lt;p&gt;```python
def _get_python_type_override(self, obj: JsonSchemaObject) -&amp;gt; DataType | None:
    x_python_type = obj.extras.get(&amp;#34;x-python-type&amp;#34;)
    if not x_python_type or not isinstance(x_python_type, str):
        return None
    schema_type = obj.type if isinstance(obj.type, str) else None
    if self._is_compatible_python_type(schema_type, x_python_type):
        return None
    base_type = self._get_python_type_base(x_python_type)
    import_ = self._resolve_type_import(base_type)
    type_str = x_python_type
    prefix = x_python_type.split(&amp;#34;[&amp;#34;, maxsplit=1)[0]
    if &amp;#34;.&amp;#34; in prefix:                                  # only sanitiser
        type_str = base_type + x_python_t…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: datamodel-code-generator&lt;/p&gt;
&lt;p&gt;### Summary
`datamodel-code-generator` honours a custom `x-python-type` JSON-Schema extension that lets a schema author override the generated Python type for a field. The value is forwarded verbatim into the generated Python source as the field annotation, with a single sanitisation pass that is trivial to bypass. An attacker who controls a JSON Schema fed to `datamodel-codegen` can therefore embed an arbitrary Python statement in the generated module, which executes at class-definition time the moment the developer imports the file. No `--extra-template-data` and no special flags are required; the vulnerable code is reachable with default settings.&lt;/p&gt;
&lt;p&gt;### Details
Sink: `src/datamodel_code_generator/parser/jsonschema.py`, `_get_python_type_override` (lines 2055–2096, at tag `0.60.1` / commit `a321547e`):&lt;/p&gt;
&lt;p&gt;```python
def _get_python_type_override(self, obj: JsonSchemaObject) -&amp;gt; DataType | None:
    x_python_type = obj.extras.get(&amp;#34;x-python-type&amp;#34;)
    if not x_python_type or not isinstance(x_python_type, str):
        return None
    schema_type = obj.type if isinstance(obj.type, str) else None
    if self._is_compatible_python_type(schema_type, x_python_type):
        return None
    base_type = self._get_python_type_base(x_python_type)
    import_ = self._resolve_type_import(base_type)
    type_str = x_python_type
    prefix = x_python_type.split(&amp;#34;[&amp;#34;, maxsplit=1)[0]
    if &amp;#34;.&amp;#34; in prefix:                                  # only sanitiser
        type_str = base_type + x_python_t…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-3562</guid>
    </item>
  </channel>
</rss>
