Security readout for executives and security teams
Plain-English summary
CVE-2026-22034 can turn a protective Snuffleupagus upload-checking feature into remote code execution when it is enabled in a specific broken configuration. The risk is severe for exposed PHP applications that accept file uploads and match the advisory conditions. The issue is fixed in Snuffleupagus 0.13.0.
Executive priority
Treat as urgent for teams running Snuffleupagus on upload-capable PHP applications. Prioritize confirming whether the rare affected configuration exists, then upgrade to 0.13.0. If the feature is not enabled, business risk is likely lower but should still be documented.
Technical view
Snuffleupagus versions before 0.13.0 are affected when non-default upload validation is enabled, configured to use upstream VLD-based validation scripts, and VLD is unavailable to the CLI SAPI. In that state, multipart POST uploaded files are evaluated as PHP code. CVSS v4.0 is 9.2 critical with network attack vector and no privileges or user interaction required.
Likely exposure
Exposure appears limited to Snuffleupagus deployments before 0.13.0 that enabled upload validation and used the affected upstream VLD-based scripts without VLD available to PHP CLI. Internet-facing PHP applications accepting multipart uploads are the highest concern. Default deployments without this feature enabled are not described as affected in the advisory.
Exploitation context
The provided sources do not report active exploitation, and the CVE is not marked KEV. The advisory describes a remotely reachable condition through multipart POST uploads, but exploitation also requires the specific Snuffleupagus upload-validation configuration and missing CLI VLD extension.
Researcher notes
The key triage question is configuration state, not only version. The vulnerable path requires pre-0.13.0, enabled upload validation, VLD-based upstream scripts, and no VLD in CLI SAPI. Public sources identify the fix commit and documentation, but no exploitation evidence is provided.
Mitigation direction
- Upgrade Snuffleupagus to version 0.13.0 or later.
- Identify systems with Snuffleupagus upload validation enabled.
- Check whether upstream VLD-based validation scripts are configured.
- Verify VLD availability for the PHP CLI SAPI.
- If upgrade is delayed, review vendor guidance before changing validation behavior.
Validation and detection
- Inventory Snuffleupagus versions across PHP environments.
- Review Snuffleupagus configuration for upload validation settings.
- Confirm whether applications accept multipart file uploads.
- Check CLI PHP extension availability against the advisory conditions.
- Review application logs for unexpected upload-validation errors.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
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-636: 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.
Open ATT&CK lookupExecution behavior lookup
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.
Open ATT&CK lookupCVE-2026-22034 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
Open ATT&CK lookup- Severity
- Critical
- CVSS
- 9.2 (4.0)
- Known Exploited
- No
- Published
Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CNA and ADP enrichment extracted from CVE v5
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.
CVSS vector scores
1 official scoreWe 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.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N——Primary CVE scoreVulnerability scoring details
Base CVSS 4.0 score
9.2CriticalVector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Source materials
- CVE List V5 sourceCVE List V5
- https://github.com/jvoisin/snuffleupagus/security/advisories/GHSA-c4ch-xw5p-2mvcCVE reference · x_refsource_CONFIRM
- https://github.com/jvoisin/snuffleupagus/commit/9278dc77bab2a219e770a1b31dd6797bc9070e37CVE reference · x_refsource_MISC
- https://github.com/jvoisin/snuffleupagus/blob/9278dc77bab2a219e770a1b31dd6797bc9070e37/src/sp_upload_validation.c#L92-L100CVE reference · x_refsource_MISC
- https://github.com/jvoisin/snuffleupagus/blob/v0.12.0/scripts/upload_validation.phpCVE reference · x_refsource_MISC
- https://github.com/jvoisin/snuffleupagus/blob/v0.12.0/scripts/upload_validation.pyCVE reference · x_refsource_MISC
- https://github.com/php/php-src/blob/e4098da58a9eaee759d728d98a27d809cde37671/ext/standard/dl.c#L165-L166CVE reference · x_refsource_MISC
- https://github.com/php/php-src/blob/e4098da58a9eaee759d728d98a27d809cde37671/main/rfc1867.c#L1269-L1274CVE reference · x_refsource_MISC
- https://snuffleupagus.readthedocs.io/config.html#upload-validationCVE reference · x_refsource_MISC
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
Not Failing Securely ('Failing Open')
Not Failing Securely ('Failing Open') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
