Skip to content
Heist/ feed
Back to feed
Critical

Apache Fory: PyFory ReduceSerializer Incomplete Policy Enforcement

Type: advisorySources: OSV

Deserialization of untrusted data in Apache Fory PyFory. PyFory's ReduceSerializer could bypass documented DeserializationPolicy validation hooks during reduce-state restoration and global-name resolution. An application is vulnerable if it deserializes attacker-controlled data using PyFory Python-native mode with strict mode disabled and relies on DeserializationPolicy to restrict unsafe classes, functions, or module attributes. This issue affects Apache Fory: from before 1.0.0. Mitigation: Users of Apache Fory are recommended to upgrade to version 1.0.0 or later, which enforces DeserializationPolicy validation for the affected ReduceSerializer paths and thus fixes this issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-48207
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 17:18 UTC · Revision 1

Source evidence

Apache Fory: PyFory ReduceSerializer Incomplete Policy Enforcement

core-osv · Original source

Published 21 May 2026, 15:51 UTC

Deserialization of untrusted data in Apache Fory PyFory. PyFory's ReduceSerializer could bypass documented DeserializationPolicy validation hooks during reduce-state restoration and global-name resolution. An application is vulnerable if it deserializes attacker-controlled data using PyFory Python-native mode with strict mode disabled and relies on DeserializationPolicy to restrict unsafe classes, functions, or module attributes. This issue affects Apache Fory: from before 1.0.0. Mitigation: Users of Apache Fory are recommended to upgrade to version 1.0.0 or later, which enforces DeserializationPolicy validation for the affected ReduceSerializer paths and thus fixes this issue.

osv:CVE-2026-48207
Complete source record
{
  "id": "1923559c2b00e1e8268aa4a88eefd4c7e0dcf6890fae187277f87ba60f18f442",
  "url": "https://osv.dev/vulnerability/CVE-2026-48207",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Apache Fory: PyFory ReduceSerializer Incomplete Policy Enforcement",
    "summary": "Deserialization of untrusted data in Apache Fory PyFory. PyFory's ReduceSerializer could bypass documented DeserializationPolicy validation hooks during reduce-state restoration and global-name resolution. An application is vulnerable if it deserializes attacker-controlled data using PyFory Python-native mode with strict mode disabled and relies on DeserializationPolicy to restrict unsafe classes, functions, or module attributes. This issue affects Apache Fory: from before 1.0.0. Mitigation: Users of Apache Fory are recommended to upgrade to version 1.0.0 or later, which enforces DeserializationPolicy validation for the affected ReduceSerializer paths and thus fixes this issue.",
    "evidence": "osv:CVE-2026-48207",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-48207",
      "aliases": [
        "CVE-2026-48207",
        "GHSA-m5gw-83w2-7749",
        "PYSEC-2026-2984"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/apache/fory",
              "type": "GIT",
              "events": [
                {
                  "introduced": "471a646d2d3c3aad32870c76e986dc19b51de6d4"
                },
                {
                  "fixed": "36a01b6253d5974f13be3258205ac13f0ceaee44"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:apache:fory:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0.13.0"
                      },
                      {
                        "fixed": "1.0.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48207.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.609873058Z",
      "provider": "osv",
      "references": [
        "https://pypi.org/",
        "https://fory.apache.org/security/#cve-2026-48207-pyfory-reduceserializer-deserializationpolicy-bypass",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48207.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-48207"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-502"
        ],
        "cna_assigner": "apache",
        "unresolved_ranges": [
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "0.13.0"
                  },
                  {
                    "fixed": "1.0.0"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StandardRange"
              }
            ]
          }
        ],
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48207.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-48207",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497757,
  "published_at": "2026-05-21T15:51:12.292+00:00"
}