{"id":"CVE-2025-61622","aliases":["EUVD-2025-32708","GHSA-538v-3wq9-4h3r","PYSEC-2026-490","PYSEC-2026-491"],"status":"published","title":"Apache Fory, Apache Fory: Python RCE via unguarded pickle fallback serializer in pyfory","description":"Deserialization of untrusted data in python in pyfory versions 0.12.0 through 0.12.2, or the legacy pyfury versions from 0.1.0 through 0.10.3: allows arbitrary code execution. An application is vulnerable if it reads pyfory serialized data from untrusted sources. An attacker can craft a data stream that selects pickle-fallback serializer during deserialization, leading to the execution of `pickle.loads`, which is vulnerable to remote code execution.\n\nUsers are recommended to upgrade to pyfory version 0.12.3 or later, which has removed pickle fallback serializer and thus fixes this issue.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-11","score":0.48963,"percentile":0.98897,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-502"],"published":"2025-10-01T09:55:05Z","modified":"2026-10-28T02:30:31Z","fixes":[{"ecosystem":"PyPI","package":"pyfory","fixed_in":["0.12.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"pyfory","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.12.0"},{"fixed":"0.12.3"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"pyfury","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.1.0"},{"last_affected":"0.10.3"}]}]},{"source":"osv","ecosystem":"PyPI","package":"pyfory","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.12.0"},{"fixed":"0.12.3"}]}],"versions":["0.12.0","0.12.1","0.12.2"]},{"source":"osv","ecosystem":"PyPI","package":"pyfury","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.1.0"},{"last_affected":"0.10.3"}]}],"versions":["0.10.2","0.10.2rc1","0.10.3","0.2.0","0.2.0a1","0.2.1","0.2.1a1","0.3.0","0.3.0a1","0.3.0a2","0.3.0a3","0.3.1","0.4.0","0.4.1"]},{"source":"osv","ecosystem":"PyPI","package":"pyfory","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.12.0"},{"fixed":"0.12.3"}]}],"versions":["0.12.0","0.12.1","0.12.2"]},{"source":"osv","ecosystem":"PyPI","package":"pyfury","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.1.0"},{"last_affected":"0.10.3"}]}],"versions":["0.10.2","0.10.2rc1","0.10.3","0.2.0","0.2.0a1","0.2.1","0.2.1a1","0.3.0","0.3.0a1","0.3.0a2","0.3.0a3","0.3.1","0.4.0","0.4.1"]}],"products":[{"vendor":"apache","product":"fory"},{"vendor":"apache software foundation","product":"apache fory"}],"references":[{"url":"https://lists.apache.org/thread/vfn9hp9qt06db5yo1gmj3l114o3o2csd","tags":["vendor-advisory","Issue Tracking","Vendor Advisory","advisory","web"]},{"url":"http://www.openwall.com/lists/oss-security/2025/09/29/3","tags":["Mailing List","Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-61622","tags":["advisory"]},{"url":"https://github.com/apache/fory/pull/2629","tags":["web"]},{"url":"https://github.com/apache/fory/commit/379b948ecae5c3b849e5bdb3997978c9a163e40b","tags":["web"]},{"url":"https://github.com/apache/fory/releases/tag/v0.12.3","tags":["web"]},{"url":"https://github.com/advisories/GHSA-538v-3wq9-4h3r","tags":["advisory"]},{"url":"https://pypi.python.org","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/61xxx/CVE-2025-61622.json","tags":["advisory"]},{"url":"https://github.com/apache/fory","tags":["package"]},{"url":"https://pypi.org/project/pyfory","tags":["package"]},{"url":"https://pypi.org/project/pyfury","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2025-61622","title":"Apache Fory, Apache Fory: Python RCE via unguarded pickle fallback serializer in pyfory","description":"Deserialization of untrusted data in python in pyfory versions 0.12.0 through 0.12.2, or the legacy pyfury versions from 0.1.0 through 0.10.3: allows arbitrary code execution. An application is vulnerable if it reads pyfory serialized data from untrusted sources. An attacker can craft a data stream that selects pickle-fallback serializer during deserialization, leading to the execution of `pickle.loads`, which is vulnerable to remote code execution.\n\nUsers are recommended to upgrade to pyfory version 0.12.3 or later, which has removed pickle fallback serializer and thus fixes this issue.","status":"published","published":"2025-10-01T09:55:05.557Z","modified":"2025-11-04T21:14:00.912Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:32:45.105469Z"}],"euvd":[{"id":"EUVD-2025-32708","description":"Deserialization of untrusted data in python in pyfory versions 0.12.0 through 0.12.2, or the legacy pyfury versions from 0.1.0 through 0.10.3: allows arbitrary code execution. An application is vulnerable if it reads pyfory serialized data from untrusted sources. An attacker can craft a data stream that selects pickle-fallback serializer during deserialization, leading to the execution of `pickle.loads`, which is vulnerable to remote code execution.\n\nUsers are recommended to upgrade to pyfory version 0.12.3 or later, which has removed pickle fallback serializer and thus fixes this issue.","status":"published","published":"2025-10-01T09:55:05Z","modified":"2025-11-04T21:14:00Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T19:49:20.707326Z"}],"ghsa":[{"id":"GHSA-538v-3wq9-4h3r","title":"Apache Pyfory python is vulnerable to deserialization of untrusted data","description":"Deserialization of untrusted data in python in pyfory versions 0.12.0 through 0.12.2, or the legacy pyfury versions from 0.1.0 through 0.10.3: allows arbitrary code execution. An application is vulnerable if it reads pyfory serialized data from untrusted sources. An attacker can craft a data stream that selects pickle-fallback serializer during deserialization, leading to the execution of `pickle.loads`, which is vulnerable to remote code execution.\n\nUsers are recommended to upgrade to pyfory version 0.12.3 or later, which has removed pickle fallback serializer and thus fixes this issue.","status":"published","published":"2025-10-01T12:30:27Z","modified":"2025-11-05T20:47:04Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:39:07.0252Z"}],"nvd":[{"id":"CVE-2025-61622","description":"Deserialization of untrusted data in python in pyfory versions 0.12.0 through 0.12.2, or the legacy pyfury versions from 0.1.0 through 0.10.3: allows arbitrary code execution. An application is vulnerable if it reads pyfory serialized data from untrusted sources. An attacker can craft a data stream that selects pickle-fallback serializer during deserialization, leading to the execution of `pickle.loads`, which is vulnerable to remote code execution.\n\nUsers are recommended to upgrade to pyfory version 0.12.3 or later, which has removed pickle fallback serializer and thus fixes this issue.","status":"published","published":"2025-10-01T10:15:34.08Z","modified":"2026-10-09T09:10:00.213Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:11:34.090044Z"}],"osv":[{"id":"CVE-2025-61622","title":"Apache Fory, Apache Fory: Python RCE via unguarded pickle fallback serializer in pyfory","description":"Deserialization of untrusted data in python in pyfory versions 0.12.0 through 0.12.2, or the legacy pyfury versions from 0.1.0 through 0.10.3: allows arbitrary code execution. An application is vulnerable if it reads pyfory serialized data from untrusted sources. An attacker can craft a data stream that selects pickle-fallback serializer during deserialization, leading to the execution of `pickle.loads`, which is vulnerable to remote code execution.\n\nUsers are recommended to upgrade to pyfory version 0.12.3 or later, which has removed pickle fallback serializer and thus fixes this issue.","status":"published","published":"2025-10-01T09:55:05.557Z","modified":"2026-10-28T02:30:31.00165501Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T15:44:51.516975Z"},{"id":"GHSA-538v-3wq9-4h3r","title":"Apache Pyfory python is vulnerable to deserialization of untrusted data","description":"Deserialization of untrusted data in python in pyfory versions 0.12.0 through 0.12.2, or the legacy pyfury versions from 0.1.0 through 0.10.3: allows arbitrary code execution. An application is vulnerable if it reads pyfory serialized data from untrusted sources. An attacker can craft a data stream that selects pickle-fallback serializer during deserialization, leading to the execution of `pickle.loads`, which is vulnerable to remote code execution.\n\nUsers are recommended to upgrade to pyfory version 0.12.3 or later, which has removed pickle fallback serializer and thus fixes this issue.","status":"published","published":"2025-10-01T12:30:27Z","modified":"2026-06-29T12:26:52.243778954Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T15:46:37.864461Z"},{"id":"PYSEC-2026-490","title":"Apache Pyfory python is vulnerable to deserialization of untrusted data","description":"Deserialization of untrusted data in python in pyfory versions 0.12.0 through 0.12.2, or the legacy pyfury versions from 0.1.0 through 0.10.3: allows arbitrary code execution. An application is vulnerable if it reads pyfory serialized data from untrusted sources. An attacker can craft a data stream that selects pickle-fallback serializer during deserialization, leading to the execution of `pickle.loads`, which is vulnerable to remote code execution.\n\nUsers are recommended to upgrade to pyfory version 0.12.3 or later, which has removed pickle fallback serializer and thus fixes this issue.","status":"published","published":"2026-06-29T11:50:36.968662Z","modified":"2026-07-01T20:23:02.648327Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:57.671918Z"},{"id":"PYSEC-2026-491","title":"Apache Pyfory python is vulnerable to deserialization of untrusted data","description":"Deserialization of untrusted data in python in pyfory versions 0.12.0 through 0.12.2, or the legacy pyfury versions from 0.1.0 through 0.10.3: allows arbitrary code execution. An application is vulnerable if it reads pyfory serialized data from untrusted sources. An attacker can craft a data stream that selects pickle-fallback serializer during deserialization, leading to the execution of `pickle.loads`, which is vulnerable to remote code execution.\n\nUsers are recommended to upgrade to pyfory version 0.12.3 or later, which has removed pickle fallback serializer and thus fixes this issue.","status":"published","published":"2026-06-29T11:50:37.028397Z","modified":"2026-07-01T20:23:02.702735Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:57.671918Z"}]}}
