CVE-2023-0090
THREAT INTELLIGENCE REPORT: CVE-2023-0090
Executive Summary
CVE-2023-0090 is a critical unauthenticated remote code execution (RCE) vulnerability affecting Proofpoint Enterprise Protection (PPS/POD) webservices in all versions 8.20.0 and below. The vulnerability stems from an eval injection flaw that allows an anonymous user to execute arbitrary code on the underlying server, given network access to the webservices API endpoint. With a CVSS score of 9.8, successful exploitation grants full system compromise; however, the required non-standard network exposure of the webservices API reduces real-world exploitability. No public proof-of-concept, exploit code, or vendor patch is currently available.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability is classified as an eval injection flaw. Eval injection vulnerabilities occur when user-supplied input is passed directly to a dynamic code evaluation function (such as eval(), exec(), or equivalent) without proper sanitization or validation. In this context, the Proofpoint Enterprise Protection webservices API accepts input that is subsequently processed as code, allowing an attacker to inject and execute arbitrary commands or scripts.
Attack Surface: The vulnerable component is the webservices API of Proofpoint Enterprise Protection (also known as PPS or POD — Proofpoint on Demand). The NVD description explicitly notes that exploitation requires "network access to the webservices API" — implying the API is not exposed by default and requires non-standard configuration to be reachable from untrusted networks.
Key Technical Details:
- The vulnerability requires no authentication ("anonymous user").
- The attack vector is network-based, targeting the webservices API.
- The flaw exists in all versions 8.20.0 and below, suggesting a long-standing issue.
- The CNA title confirms "unauthenticated RCE" as the primary impact.
Insufficient technical detail is available regarding the specific endpoint paths, parameter names, or functions involved in the injection. The NVD description does not enumerate code-level specifics. Security analysts should treat any webservices API input handling as potentially vulnerable.
Exploitation Scenarios
No public PoC is available; attack chain is inferred from vulnerability class and NVD description. Insufficient technical detail available — exploitation path described at class level.
Step 1 — Reconnaissance and Target Identification: An attacker would need to identify Proofpoint Enterprise Protection instances with the webservices API exposed to the network. This requires network scanning for known Proofpoint service ports or service banners. Shodan/Censys queries targeting Proofpoint-specific headers or certificate metadata would be typical discovery methods. The attacker must confirm the API is reachable — a non-standard configuration per the NVD description.
Step 2 — Triggering the Flaw: The attacker crafts an HTTP request to the webservices API endpoint containing malicious payload data in a parameter that the application passes to an evaluation function. For eval injection, the payload typically includes code mixed with legitimate input, structured to break out of any enclosing quotes or context and execute arbitrary instructions.
Step 3 — Payload Execution: The injected code executes with the privilege level of the underlying application service (likely a system or high-privilege account, given the CVSS impact of 9.8 for confidentiality, integrity, and availability). Common eval injection payloads include:
- System command execution (
system(),exec()equivalents) - Reverse shell or bind shell establishment
- Web shell upload for persistent access
- File read/write operations on the host filesystem
Step 4 — Post-Exploitation Impact: Successful execution grants the attacker full control of the affected server. This could lead to:
- Exfiltration of email filtering policies, customer data, and credentials
- Lateral movement into the broader email infrastructure
- Email flow disruption or mail interception
- Pivoting to internal network resources
Note: The privileged context combined with unauthenticated access creates a scenario where a single request can yield full system compromise. However, the requirement for non-standard network exposure significantly reduces the attack surface in real-world deployments.
Impact Assessment
CVSS Score: 9.8 (Critical) — High impact to Confidentiality, Integrity, and Availability with Network attack vector and NO authentication required.
Business Impact: Proofpoint Enterprise Protection is a mail security gateway — a critical infrastructure component for enterprise email protection. Compromise of this system could enable:
- Unauthorized access to email security logs and filter decisions
- Tampering with email defense policies to allow phishing or malware delivery
- Credential harvesting from mail flow inspection
- Complete disruption of email security services (Availability impact)
Affected Systems: All Proofpoint Enterprise Protection (PPS/POD) deployments running version 8.20.0 or earlier, specifically where the webservices API is network-exposed.
Blast Radius: The webservices API is an internal integration point typically used for administrative functions. If exposed beyond trusted networks, the blast radius expands to anyone with network reachability. Because the vulnerability is unauthenticated, it is exploitable by any attacker who can reach the API regardless of user credentials.
EPSS Note: EPSS score is 0.00738 (51.1% percentile) — suggesting low-to-moderate probability of exploitation in the wild; however, this metric reflects known exploitation behavior, not the severity of impact.
Detection Guidance
Sigma Rule
title: Proofpoint Enterprise Protection Webservices Eval Injection Attempt
id: 8b9f3d2e-1234-4a5b-9cde-f0123456789a
status: experimental
description: Detects attempts to exploit CVE-2023-0090 eval injection in Proofpoint Enterprise Protection webservices API
author: Valtersit Threat Intelligence
date: 2024/01/15
logsource:
category: webserver
product: proofpoint
detection:
selection_api:
cs-uri-query|contains:
- "eval"
- "exec"
- "system("
- "passthru"
selection_payload:
cs-uri-query|contains:
- "php"
- "perl"
- "python"
- "bash"
- "/bin/sh"
selection_craft:
cs-uri-query|contains:
- "%24"
- "%7B"
- "%7D"
- "assert"
- "base64_decode"
condition: selection_api and (selection_payload or selection_craft)
level: critical
YARA Rule
rule proofpoint_pps_eval_injection_cve_2023_0090 {
meta:
author = "Valtersit Threat Intelligence"
description = "Detects potential eval injection payloads targeting Proofpoint Enterprise Protection webservices"
cve = "CVE-2023-0090"
date = "2024-01-15"
score = 85
strings:
$eval_functions = /(eval|assert|system|exec|passthru|shell_exec)\s*\(/ nocase
$payload_markers = /(base64_decode|chr\s*\(|\$\{|\%24\{)/ nocase
$cmd_chars = /(;|\||>|&&)/ nocase
$shell_ref = /\/(bin|usr\/bin)\/(sh|bash|perl|python)/ nocase
$uri_path = /(webservices\/api|api\/ws|pps|pod)/ nocase
condition:
$uri_path and $eval_functions and 2 of ($payload_markers, $cmd_chars, $shell_ref)
}
Suricata IDS Rule
alert http any any -> $HOME_NET any (
msg:"ET EXPLOIT Proofpoint Enterprise Protection Eval Injection Attempt (CVE-2023-0090)";
flow:established,to_server;
content:"webservices";
http_uri;
nocase;
pcre:"/(eval|assert|system|exec|passthru|shell_exec)\s*\(/Ui";
pcre:"/(base64_decode|chr\s*\(|\\$\\{|%24\\{)/Ui";
classtype:attempted-admin;
sid:20230090;
rev:1;
metadata:created_at 2024_01_15, updated_at 2024_01_15, cve CVE_2023_0090;
)
Elastic Detection
sequence by source.ip with maxspan=30s
[network where event.category == "network" and
destination.port in (80, 443) and
network.protocol == "http"]
[http where event.category == "http" and
url.path contains "webservices" and
(url.query contains "eval" or
url.query contains "system(" or
url.query contains "exec(" or
url.query contains "base64_decode" or
url.query contains "%24{")]
Splunk SPL Query
index=proxy OR index=webserver sourcetype=access_*
| where like(url, "%webservices%")
| where (like(url, "%eval%") OR like(url, "%system(%")
OR like(url, "%exec(%") OR like(url, "%base64_decode%")
OR like(url, "%${") OR like(url, "%$%7B%"))
| stats count by src_ip, dest_ip, url, status
| sort - count
Wazuh OSSEC Rule
<group name="proofpoint,">
<rule id="100090" level="15">
<decoded_as>json</decoded_as>
<field name="url">\.webservices\.</field>
<regex>\.(eval|assert|system|exec|passthru|shell_exec)\s*\(</regex>
<description>Proofpoint PPS Webservices Eval Injection Attempt (CVE-2023-0090)</description>
<group>attack_rce,</group>
<mitre>
<id>T1190</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 0/4 — UNPATCHED
No vendor patch is currently available from any tracked source. Proofpoint has not released an official fix, and no workarounds or vendor mitigation instructions have been published.
Immediate Mitigations (compensating controls):
Network Segmentation: Restrict network access to the Proofpoint Enterprise Protection webservices API. Implement strict firewall rules allowing connections only from trusted administrative networks and approved integration systems. The NVD description explicitly notes that network exposure is non-standard — leverage this by ensuring default configurations are maintained.
Access Control Enforcement: Place the webservices API behind a reverse proxy or API gateway with:
- IP allowlisting
- TLS with mutual authentication (mTLS) if supported
- Rate limiting to slow brute-force attempts
Web Application Firewall (WAF): Deploy WAF rules that block requests containing eval injection patterns targeting PHP/Perl/Python code constructs (e.g.,
eval(,assert(,system(,base64_decode().Monitor: Actively monitor logs for anomalous traffic patterns to the webservices API, especially requests containing code-like payloads.
Patch/Upgrade Steps:
- Continuously monitor Proofpoint security advisories for an official patch release.
- Subscribe to Proofpoint's security notification mailing list.
- Plan an upgrade path to the next version above 8.20.0 once patched (or confirm with vendor support that a fixed version is available).
- Contact Proofpoint support directly for interim mitigations and patch status.
Long-Term Hardening:
- Ensure the webservices API is NEVER exposed to the internet or untrusted networks.
- Implement a formal change-management process requiring business justification for any deviation from standard API exposure configurations.
- Conduct regular security assessments, including penetration testing of Proofpoint infrastructure, to identify exposed services.
- Maintain an up-to-date asset inventory to identify Proofpoint components in the environment.
- Establish IR playbooks specific to Proofpoint compromise scenarios, including mail-flow integrity checks.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2023-0090
- CVE.org Record: https://www.cve.org/CVERecord?id=CVE-2023-0090
- Proofpoint Security Advisories: (Check vendor site for CVE-2023-0090 updates — no advisory currently published)
- CISA KEV: Not listed — no known exploitation in the wild at publication time.
Threat Actor Campaigns: No known threat actor campaigns attributed to this CVE at publication time. No exploit-in-the-wild evidence has been reported. The EPSS score of 0.00738 suggests limited active exploitation interest, likely due to the non-standard configuration requirement for reaching the vulnerable API.