Local code execution via nonfinite spline controls
Published Apr 23, 2025 · Updated Jun 30, 2026
Stack overflow in fig2dev 3.2.9a and earlier allows local users to execute code by converting a crafted FIG file with the epic backend. read_splineobject accepts NaN control values because range comparisons do not reject nonfinite floats; bezier_spline recursively subdivides the resulting geometry until stack exhaustion. A local user must cause fig2dev to process malicious spline data with an output language that computes Bézier splines, producing memory corruption and possible process-context code execution.
Summary
What happened
Stack overflow in fig2dev 3.2.9a and earlier allows local users to execute code by converting a crafted FIG file with the epic backend. read_splineobject accepts NaN control values because range comparisons do not reject nonfinite floats; bezier_spline recursively subdivides the resulting geometry until stack exhaustion. A local user must cause fig2dev to process malicious spline data with an output language that computes Bézier splines, producing memory corruption and possible process-context code execution.
The record
- CVE
- CVE-2025-46397
- Published
- Apr 23, 2025
- Updated
- Jun 30, 2026
- Vendor
- Xfig Project
- Product
- fig2dev
- Classifications
- CWE-120, T1203
- Attack vector
- local
- Privileges
- authenticated
Timeline
How it unfolded
- Apr 23, 2025CVE publishedPublication date reported by the CVE source.
- Jun 30, 2026Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=0 <=3.2.9a
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- fig2dev NaN spline proof of conceptproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo