Skip to main content

Cypht CVE-2026-71981

| EUVDEUVD-2026-69650 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-09-01 VulnCheck GHSA-46j6-w3hw-4r9x
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain valid Cypht account credentials
  2. Delivery
    Authenticate to target instance
  3. Exploit
    Enumerate loaded PHP libraries for gadget chain
  4. Install
    Generate serialized payload with PHPGGC
  5. C2
    Base64-encode payload
  6. Execute
    Submit as back_query GET parameter to logout endpoint
  7. Impact
    PHP unserialize() triggers gadget chain
  8. Step 8
    Execute OS commands as web server process

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a valid authenticated session on the target Cypht instance (PR:L per CVSS 4.0 vector). The attacker must also reach the logout endpoint over the network (AV:N). No special Cypht configuration is required - the vulnerable back_query parameter in the logout handler is present by default in all installations before v2.12.2. A practical additional requirement is identifying a viable PHP gadget chain from the libraries loaded on the target server (e.g., Guzzle, Symfony components), though PHPGGC automates this for most common stacks. Exploitation is bounded by the need for prior account access and gadget-chain identification; it is not exploitable by unauthenticated attackers.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, score 8.7) correctly reflects network reachability, low complexity, and low-privilege authentication as the primary gate. The requiring of a valid authenticated session (PR:L) is the main limiting factor - attackers cannot exploit this without prior account access. However, in multi-tenant or self-registration-enabled Cypht deployments, obtaining a valid account is trivial. PHP deserialization gadget chains are well-understood, well-tooled, and independent of Cypht-specific knowledge, which reduces effective exploitation complexity. EPSS data was not provided; no CISA KEV listing exists; no public exploit code is identified. Real-world risk is moderate-to-high for internet-facing instances with open or low-barrier registration, and lower for private deployments with controlled user bases.

Exploit ScenarioDerived

An authenticated Cypht user generates a serialized PHP gadget chain using PHPGGC against the PHP libraries loaded by the target server, base64-encodes the payload, and appends it as the back_query GET parameter in a crafted logout request. The server deserializes the object graph during logout processing, triggering magic method execution that runs arbitrary OS commands as the web server process. No public exploit code has been identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 01, 2026

PHP object injection in Cypht before 2.12.2 allows authenticated users to execute arbitrary OS commands as the web server process by submitting a crafted serialized payload via the logout handler. The back_query GET parameter is base64-decoded and passed directly to PHP's unserialize() with no allow-list, signature check, or type restriction, enabling gadget-chain exploitation. A vendor patch is available in v2.12.2 and no public exploit code has been identified at time of analysis.

RemediationAI

Upgrade to Cypht v2.12.2 or later, which resolves the issue by removing deserialization of the logout back_query parameter entirely (PR #2073, commit e4aa2f34e33f9328e8c93514cc3966fc3d99925e). The release is available at https://github.com/cypht-org/cypht/releases/tag/v2.12.2. If immediate upgrade is not feasible, a compensating control is to configure a WAF rule or reverse-proxy filter to strip or reject the back_query query string parameter from requests to the logout endpoint - this prevents the payload from reaching the vulnerable code path but may break legitimate redirect-after-logout behavior, which should be tested before deploying.

Affected VersionsENISA

cypht 0 <2.12.2

Affected Packages

euvd cypht fix: 2.12.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Cypht (cpe:2.3:a:cypht-org:cypht) is an open-source PHP-based webmail aggregation platform. The root cause is CWE-502 (Deserialization of Untrusted Data): the logout handler accepts a back_query GET parameter, base64-decodes the value, and passes it directly to PHP's unserialize(). PHP deserialization is exploitable through gadget chains - sequences of existing classes whose magic methods (__wakeup, __destruct, __toString) can be chained to achieve arbitrary code execution. Without an allowed_classes restriction, signature verification, or type guard, any serialized object graph the PHP runtime accepts can be submitted. Public tooling such as PHPGGC automates gadget-chain generation against common PHP libraries (Guzzle, Symfony, etc.), reducing the effective skill bar for exploitation.

Know when Cypht gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Network-reachable endpoint, low complexity given PHPGGC tooling, requires authenticated low-privilege session; no scope change as execution stays within web server process.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Cypht before 2.12.2 contains a PHP object injection vulnerability that allows authenticated attackers to execute arbitrary operating system commands by supplying a crafted PHP object graph in the back_query GET parameter of the logout handler. Attackers can pass a base64-encoded serialized payload through this parameter, which is decoded and passed directly to unserialize() without an allow-list, signature check, or type restriction, enabling gadget-chain exploitation to achieve remote code execution as the web server process.

Executive ViewAI

Why It Matters

Cypht email clients before version 2.12.2 contain a PHP object injection flaw in the logout handler that allows authenticated users to execute arbitrary operating system commands with web server privileges. Organizations using Cypht must prioritize immediate patching to prevent compromised user accounts or insider threats from escalating to complete system compromise. This vulnerability is especially critical because it exploits routine session cleanup, making it difficult to detect without monitoring.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 55% exploitable
Prevalence
Low
niche open-source webmail client, limited enterprise footprint
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy