The egg-mkfont utility in Panda3D versions up to and including 1.10.16 contains a stack-based buffer overflow vulnerability due to use of an unbounded sprintf() call with attacker-controlled input. When constructing glyph filenames, egg-mkfont formats a user-supplied glyph pattern (-gp) into a fixed-size stack buffer without length validation. Supplying an excessively long glyph pattern string can overflow the stack buffer, resulting in memory corruption and a deterministic crash. Depending on build configuration and execution environment, the overflow may also be exploitable for arbitrary code execution.
Security readout for executives and security teams
Plain-English summary
CVE-2026-22189 affects Panda3D’s egg-mkfont utility, not the whole runtime by default. A very long user-supplied glyph pattern can crash the tool and may allow code execution in some builds. Business urgency is highest where Panda3D tooling runs in automated asset pipelines or handles untrusted inputs.
Executive priority
Treat as a targeted build-tool risk, not an internet-wide emergency. Prioritize teams using Panda3D in automated pipelines, game asset processing, or shared developer environments. The main immediate concern is disruption, with possible code execution depending on build protections.
Technical view
egg-mkfont in Panda3D up to and including 1.10.16 uses an unbounded sprintf() while building glyph filenames from the -gp glyph pattern. The fixed-size stack buffer can overflow, causing memory corruption and deterministic crash. The CVSS v4.0 score is 6.9, local attack vector, low complexity, no privileges, and high availability impact.
Likely exposure
Exposure is likely limited to systems where Panda3D’s egg-mkfont utility is installed and executable. Risk increases if build, CI, or asset-conversion workflows accept glyph patterns or font-generation parameters from untrusted users or repositories.
Exploitation context
The CVE is not listed as KEV, and the provided sources do not state active exploitation. Public references include a Full Disclosure post tagged as exploit and a VulnCheck advisory, so defenders should assume technical details are publicly available.
Researcher notes
The source bundle contains an inconsistency: the narrative says Panda3D versions through 1.10.16 are affected, while the affected block lists version “0” with defaultStatus “unaffected.” Validate against the CVE record, VulnCheck advisory, and Panda3D upstream before final scoping.
Mitigation direction
Inventory Panda3D installations and locate egg-mkfont usage.
Avoid processing untrusted glyph patterns or font-generation inputs.
Restrict who can run egg-mkfont on build systems.
Check Panda3D vendor guidance for fixed versions or patches.
Upgrade when an official fixed release is identified.
Validation and detection
Check installed Panda3D versions against 1.10.16 and earlier.
Review CI and asset pipelines for egg-mkfont execution.
Search build scripts for glyph pattern parameter usage.
Confirm untrusted repositories cannot control egg-mkfont inputs.
Monitor vendor repository and advisories for remediation updates.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-121: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-121 · source CWE mapping
Stack-based Buffer Overflow
Stack-based Buffer Overflow represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.