CVE-2025-30662
Executive Summary
CVE-2025-30662 is a local privilege escalation vulnerability in the Zoom Workplace VDI Plugin installer for macOS. The vulnerability is a classic symlink following (CWE-59) issue, where an authenticated user can exploit the installer's behavior to create a symbolic link to a sensitive file. When the installer runs with elevated privileges, it follows the symlink and overwrites the target file, leading to a disclosure of information. The CVSS score is 6.6 (Medium), and the attack vector is local, requiring an authenticated user on the system. No public exploit code or proof-of-concept is currently available, and the EPSS score is 0.0%, indicating a low probability of exploitation in the wild. The vendor, Zoom, has released patches in versions 6.3.14, 6.4.14, and 6.5.10.
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
Supply Chain & Package Security
This vulnerability is not related to a package manager (NPM, PyPI, Go, Ruby) but is a native macOS installer issue. The risk is limited to the Zoom Workplace VDI Plugin installer binary distributed via Zoom's official channels.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- Base Score: 6.6 (Medium)
- Attack Vector (AV): Local (L) – The attacker must have local access to the system.
- Attack Complexity (AC): Low (L) – The attack does not require special conditions.
- Privileges Required (PR): Low (L) – The attacker needs an authenticated user account.
- User Interaction (UI): None (N) – No user interaction is required beyond the attacker's actions.
- Scope (S): Unchanged (U) – The vulnerability does not affect resources beyond the vulnerable component.
- Confidentiality (C): High (H) – The attacker can read sensitive files.
- Integrity (I): None (N) – No file modification is possible.
- Availability (A): None (N) – No denial of service.
Threat Level: Medium. The attack requires local access and authenticated user privileges, limiting the attack surface. However, if exploited, it can lead to disclosure of sensitive information such as configuration files, credentials, or other user data.
Deep Dive & Mechanics
The vulnerability resides in the installer for the Zoom Workplace VDI Plugin on macOS. The installer, when executed, creates temporary files or directories in a world-writable location (e.g., /tmp or /var/tmp). An authenticated attacker can pre-create a symbolic link (symlink) in that location pointing to a sensitive file (e.g., /etc/passwd, a user's SSH private key, or a configuration file). When the installer runs with elevated privileges (e.g., via sudo or as root), it follows the symlink and writes data to the target file, thereby disclosing its contents to the attacker.
The vulnerability is a classic "symlink following" or "TOCTOU" (Time-of-Check Time-of-Use) race condition, but in this case, it is likely a static symlink attack where the attacker creates the symlink before the installer runs. The installer does not properly check if the target path is a symlink or does not use secure file creation APIs (e.g., O_NOFOLLOW).
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
The installer likely uses a function like fopen() or write() on a predictable path without checking for symlinks.
// Vulnerable pseudo-code
char *tmp_path = "/tmp/zoom_vdi_installer_temp";
FILE *fp = fopen(tmp_path, "w");
if (fp) {
fwrite(data, 1, sizeof(data), fp);
fclose(fp);
}
Patched Code (Conceptual):
The patched version uses O_NOFOLLOW or checks for symlinks before writing.
// Patched pseudo-code
char *tmp_path = "/tmp/zoom_vdi_installer_temp";
int fd = open(tmp_path, O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW, 0600);
if (fd != -1) {
write(fd, data, sizeof(data));
close(fd);
}
The patch ensures that the installer does not follow symlinks and creates the file exclusively.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Local access to a macOS system with an authenticated user account.
- The Zoom Workplace VDI Plugin installer (vulnerable version) must be present but not yet executed.
- The target file must be readable by the root user (since the installer runs with elevated privileges).
Exploitation Steps:
Identify the vulnerable temporary path. This requires reverse engineering the installer binary. For demonstration, assume the path is
/tmp/zoom_vdi_installer_temp.Create a symbolic link from the vulnerable path to the target file (e.g.,
/etc/passwd).
ln -s /etc/passwd /tmp/zoom_vdi_installer_temp
- Execute the installer with elevated privileges (e.g., via
sudoor by double-clicking the installer and entering admin credentials).
sudo /path/to/ZoomWorkplaceVDIInstaller.pkg
- After installation, the installer will write data to the symlink, effectively overwriting
/etc/passwdwith installer data. The attacker can then read the original contents of/etc/passwdfrom the installer's log or output.
Note: This is a conceptual exploit. No public exploit code is available.
Blue Team
Detection:
- Monitor for creation of symlinks in world-writable directories (e.g.,
/tmp,/var/tmp) pointing to sensitive files. - Monitor for installer processes (e.g.,
installer,pkgutil) that write to unexpected paths. - Use file integrity monitoring (FIM) to detect changes to sensitive files like
/etc/passwd,/etc/shadow, or user SSH keys.
Prevention:
- Apply the vendor patch immediately.
- Restrict write access to
/tmpand/var/tmpusingchmod 1777(sticky bit) and monitor for symlink attacks. - Use macOS's built-in
sandbox-execto sandbox installer processes. - Implement endpoint detection and response (EDR) rules to alert on symlink creation to sensitive files.
Indicators of Compromise (IOCs)
- File System:
- Unexpected symlink at
/tmp/zoom_vdi_installer_tempor similar paths. - Unauthorized modifications to
/etc/passwd,/etc/shadow, or user SSH keys.
- Unexpected symlink at
- Process:
- Execution of
installerorpkgutilwith elevated privileges. - Processes writing to
/tmpor/var/tmpfollowed by writes to sensitive system files.
- Execution of
- Network:
- No direct network IOCs, but the attacker may exfiltrate data via network after exploitation.
Detection Engineering
YARA Rule
rule CVE_2025_30662_Symlink_Attack {
meta:
description = "Detects symlink creation targeting Zoom VDI installer temp path"
author = "Valters IT"
date = "2025-04-17"
reference = "CVE-2025-30662"
strings:
$symlink_target = "/tmp/zoom_vdi_installer_temp"
$sensitive_file = "/etc/passwd" nocase
$sensitive_file2 = "/etc/shadow" nocase
$sensitive_file3 = "/.ssh" nocase
condition:
(uint16(0) == 0x2123) and // #! symlink magic
($symlink_target in (0..filesize) and
($sensitive_file in (0..filesize) or
$sensitive_file2 in (0..filesize) or
$sensitive_file3 in (0..filesize)))
}
Sigma Rule
title: CVE-2025-30662 - Symlink Following in Zoom VDI Installer
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects creation of symlinks to sensitive files in world-writable directories during Zoom VDI installer execution
author: Valters IT
date: 2025-04-17
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-30662
logsource:
category: file_event
product: macos
detection:
selection:
TargetFilename|endswith: '/tmp/zoom_vdi_installer_temp'
Image|endswith: '/installer'
condition: selection
falsepositives:
- Legitimate symlink creation by system processes
level: high
Suricata Rule
alert file any any -> any any (msg:"CVE-2025-30662 - Symlink Following in Zoom VDI Installer"; file.name:"/tmp/zoom_vdi_installer_temp"; file.magic:"symbolic link"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Patch: Upgrade Zoom Workplace VDI Plugin to version 6.3.14, 6.4.14, or 6.5.10 (depending on the track).
- Workaround: If patching is not possible, restrict execution of the installer to trusted users only. Use macOS's
chflagsto make sensitive files immutable temporarily during installation.
Long-Term Mitigations:
- Implement secure file creation practices in all installer code (use
O_NOFOLLOW,O_EXCL, and random temporary file names). - Conduct regular security audits of installer binaries.
- Deploy EDR solutions that monitor for symlink attacks.
Valters IT Signature
This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.