☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-347
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-50228

CVE-2023-50228 Privilege Escalation in Parallels
📅 PUBLISHED: 2024-05-03 02:14 UTC 🔄 UPDATED: 2026-08-12 09:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.05%
👁️
0.05% probability
1.2× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1068
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 7.8
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-50228 is a local privilege escalation vulnerability in Parallels Desktop, specifically within the Updater service. The flaw stems from improper verification of cryptographic signatures, allowing an attacker with low-privileged code execution on the host to escalate privileges to root. This vulnerability has a CVSS score of 7.8 (High) and is currently unpatched according to available data. The EPSS score is 0.0%, indicating low exploitation likelihood in the wild, but the impact is severe due to full system compromise.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

  • CVSS Score: 7.8 (High)
  • Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
  • Attack Vector: Local (AV:L) – Requires local access to the system.
  • Attack Complexity: Low (AC:L) – No special conditions needed.
  • Privileges Required: Low (PR:L) – Attacker needs low-privileged code execution.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – Vulnerability does not cross trust boundaries.
  • Confidentiality, Integrity, Availability: High (C:H/I:H/A:H) – Full system compromise.

Threat Level: High. While exploitation requires local access, the ability to escalate to root makes it critical for multi-user environments or systems with untrusted users.

Deep Dive & Mechanics

The vulnerability resides in the Parallels Desktop Updater service, which is responsible for checking and applying updates. The service fails to properly verify the cryptographic signature of update packages or binaries it processes. This allows an attacker to craft a malicious update payload that, when processed by the updater, executes arbitrary code with root privileges.

Attack Flow:

  1. Attacker gains low-privileged code execution on the host (e.g., via a malicious app or user account).
  2. Attacker replaces or intercepts an update file (e.g., via a man-in-the-middle attack on local IPC or by modifying a file the updater reads).
  3. The updater processes the malicious file without verifying its cryptographic signature.
  4. The malicious code executes in the context of root, granting full system control.

The lack of signature verification (CWE-347) is the core issue. The updater likely trusts files from a specific location or channel without validating their authenticity.

Vulnerable vs. Patched Code

Since no patch details are available, we can only describe the vulnerable behavior:

Vulnerable Code (Conceptual):

// Pseudocode for vulnerable updater
void process_update(char *file_path) {
    // No signature verification
    execute_as_root(file_path);
}

Patched Code (Expected):

// Pseudocode for patched updater
void process_update(char *file_path) {
    if (!verify_signature(file_path, trusted_public_key)) {
        log_error("Invalid signature");
        return;
    }
    execute_as_root(file_path);
}

The fix would involve implementing cryptographic signature verification using a trusted public key embedded in the application.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Low-privileged user account on a macOS host running Parallels Desktop.
  • Ability to write to a location the updater reads (e.g., /tmp/ or a specific cache directory).

Exploitation Steps:

  1. Create a malicious payload that escalates privileges (e.g., a shell script or binary).
  2. Replace the legitimate update file with the malicious one.
  3. Trigger the updater (e.g., by running prl_update or waiting for a scheduled check).
  4. The updater executes the payload as root.

Example Payload (bash):

#!/bin/bash
# This payload creates a root backdoor
echo "root:newpassword" | chpasswd

Triggering the Updater:

# Simulate updater execution (actual path may vary)
sudo /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_update --check

Blue Team

Detection:

  • Monitor for unexpected file modifications in updater directories.
  • Alert on execution of prl_update with unusual arguments or from non-standard paths.
  • Use endpoint detection rules to flag unsigned binaries executed by the updater.

Hunting:

  • Search for files in /tmp/ or /Library/Parallels/ with suspicious names or recent modifications.
  • Check for processes spawned by prl_update that are not typical update binaries.

Indicators of Compromise (IOCs)

  • File Hashes: (None available, but monitor for unknown binaries in updater paths)
  • Process Names: prl_update, Parallels Updater
  • File Paths:
    • /Applications/Parallels Desktop.app/Contents/MacOS/prl_update
    • /Library/Parallels/
    • /tmp/parallels_update_*
  • Network Connections: Outbound connections to suspicious IPs during update checks.
  • Registry/Preferences: Modified plist files in ~/Library/Preferences/ related to Parallels.

Detection Engineering

YARA Rule

rule CVE_2023_50228_Parallels_Updater {
    meta:
        description = "Detects malicious files targeting Parallels Desktop Updater"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-50228"
    strings:
        $s1 = "prl_update" nocase
        $s2 = "Parallels" nocase
        $s3 = "update" nocase
    condition:
        all of ($s*) and filesize < 10MB
}

Sigma Rule

title: Parallels Desktop Updater Suspicious Execution
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects execution of Parallels Updater with potential privilege escalation
author: Valters IT
date: 2025-04-10
logsource:
    category: process_creation
    product: macos
detection:
    selection:
        Image|endswith: '/prl_update'
        CommandLine|contains: '--check'
    condition: selection
falsepositives:
    - Legitimate update checks
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET 443 (msg:"CVE-2023-50228 Parallels Updater Suspicious Outbound"; flow:to_server; content:"parallels"; nocase; content:"update"; nocase; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable automatic updates in Parallels Desktop until a patch is available.
  2. Restrict local user permissions to prevent low-privileged code execution.
  3. Monitor updater logs for suspicious activity.

Long-Term Fix:

  • Apply the official patch from Parallels when released.
  • Implement application whitelisting to prevent unauthorized binaries from executing.

Workaround:

  • Remove the updater binary if not needed (may break update functionality).
  • Use endpoint protection to block execution of unsigned code by the updater.

Valters IT
DevSecOps & Cyber Threat Intelligence

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

Parallels Desktop
Parallels Updater

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-50228/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.