CVE-2025-59288
Medium · 5.3Playwright downloads and installs browsers without verifying the authenticity of the SSL certificate
CVSS
5.3
EPSS
0.2%
Published
Oct 14, 2025
CISA due date
—
Cloudanix analysis
A software installation process could be tricked on an untrusted network into installing an attacker’s program instead of the legitimate one.
- Exploitation
- Adjacent Network
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Application
- Class
- Cryptographic Weakness
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
The flaw is a cryptographic trust failure in installer or package scripts that invoke curl with -k or --insecure, disabling TLS certificate validation. When those scripts download executable content, a network-positioned attacker can impersonate the download endpoint and supply a malicious executable or script. Because installer scripts commonly run with elevated privileges, the substituted payload can execute as root or as a privileged service account, potentially resulting in arbitrary code execution and full host compromise.
Why it matters to the business
Successful exploitation can turn a routine software installation or update into a privileged malware installation, causing service disruption, credential theft, persistence, data exposure, or use of the server as a foothold for further attacks. The reported EPSS is low and there is no current KEV listing or known exploit maturity, but the issue has been public for an extended period and affects commonly deployed Ubuntu apache2 packages, so organizations should remediate during normal patch cycles and prioritize systems that install or update software over untrusted networks, through proxies, or in automated build/provisioning workflows.
How an attack unfolds
An attacker first gains the ability to intercept or influence network traffic used during installation or upgrade, such as through a hostile Wi-Fi network, compromised proxy, DNS manipulation, routing attack, or malicious local network position. The attacker waits for, or induces, an administrator or automation system to install or upgrade an affected apache2 package whose script uses curl with certificate verification disabled. Because curl is run with -k or --insecure, the client accepts the attacker-controlled TLS endpoint or certificate instead of rejecting it. The attacker returns a malicious binary or script in place of the expected download. The installer then places or executes that content with elevated privileges, allowing the attacker to establish persistence, modify web server behavior, steal secrets, or use the host for lateral movement.
How to fix it
Upgrade affected Ubuntu apache2 packages to fixed versions or later. Fixed versions provided are: Ubuntu 18.04 LTS apache2 2.4.29-1ubuntu4.10 or later; Ubuntu 20.04 LTS apache2 2.4.41-1ubuntu1 or later; Ubuntu 16.04 LTS apache2 2.4.18-2ubuntu3.12 or later. Remove or replace any installer logic that uses curl -k or curl --insecure for executable downloads. Enforce TLS certificate verification, pin trusted package repositories where appropriate, validate downloaded artifacts with strong cryptographic signatures or checksums obtained from a trusted channel, and restrict package installation/update workflows to trusted networks. Where immediate upgrade is not possible, block outbound access to untrusted download endpoints from provisioning hosts, require trusted proxies with certificate validation, and monitor or prevent privileged curl executions that disable TLS verification.
How to confirm the fix worked
Confirm installed package versions with package inventory tools such as dpkg -l apache2, apt-cache policy apache2, or centralized vulnerability management scans, and verify they are at or above the fixed versions for the applicable Ubuntu release. Review package maintainer scripts, provisioning scripts, CI images, golden images, and configuration-management templates for curl invocations containing -k or --insecure. Re-run installation or upgrade workflows in a controlled test environment with TLS interception enabled; fixed behavior should fail closed on invalid certificates and should not download executable content over an untrusted TLS session. Validate that EDR, auditd, or process telemetry records command-line arguments for curl so future insecure invocations can be detected.
Typical attack path
- Obtain a man-in-the-middle position on the network path used by the target during package installation, upgrade, provisioning, or image build.
- Intercept DNS, proxy, routing, or TLS traffic for the download endpoint contacted by the installer script.
- Present an invalid, forged, or attacker-controlled TLS certificate that would normally be rejected.
- Rely on the vulnerable script using curl -k or curl --insecure, causing certificate validation errors to be ignored.
- Serve a malicious executable or script that matches the expected download location or filename.
- Allow the installer or package script to install or execute the attacker-supplied content with elevated privileges.
- Establish persistence, collect credentials or configuration secrets, tamper with web server files, or pivot further into the environment.
How to detect it
To determine whether exploitation may have already occurred, review process execution telemetry, auditd logs, EDR command-line records, shell history, CI/provisioning logs, apt and dpkg logs, proxy logs, DNS logs, and network flow records around apache2 installation or upgrade times. Look for curl executions with -k or --insecure, especially when run by root or package-management processes and followed by execution or installation of downloaded files. Correlate those events with outbound connections to unexpected domains or IP addresses, TLS sessions with certificate validation failures or unusual issuers, downloads into /tmp, /var/tmp, /run, or build workspaces, and subsequent chmod, install, dpkg, systemctl, or service restart activity. On hosts, investigate unexpected changes to Apache modules, web roots, service unit files, cron jobs, systemd timers, SSH authorized_keys files, and recently created privileged binaries. Because no specific public exploit payload or threat actor indicator is provided, detections should focus on the vulnerable behavior pattern and post-exploitation artifacts rather than a fixed malware signature.
- curl -k
- curl --insecure
- /usr/bin/curl -k
- /usr/bin/curl --insecure
- --insecure
- -k
- /var/log/apt/history.log
- /var/log/dpkg.log
- /var/log/apt/term.log
- /root/.bash_history
- /home/*/.bash_history
- /tmp/
- /var/tmp/
- chmod +x
- systemctl enable
- systemctl restart apache2
- service apache2 restart
What your security team should do
- Inventory Ubuntu 16.04 LTS, 18.04 LTS, and 20.04 LTS systems with apache2 installed and verify package versions against the fixed releases.
- Patch affected systems to the fixed apache2 versions or later, prioritizing internet-facing web servers, build/provisioning systems, and hosts that update over shared or untrusted networks.
- Search automation, image-build, bootstrap, and package-maintainer scripts for curl -k or curl --insecure and replace them with certificate-validating downloads plus signature verification.
- Create detections for privileged curl processes using -k or --insecure, especially when followed by chmod, dpkg, install, systemctl, service restart, or execution of files from temporary directories.
- Review recent installation and upgrade windows for signs of unexpected downloads, modified web server files, new services, unusual outbound connections, or privilege-level process execution.
- Restrict package installation and provisioning traffic to trusted repositories and egress paths; enforce DNS, proxy, and TLS controls for software supply-chain workflows.
The record
Use of `curl` with the `-k` (or `--insecure`) flag in installer scripts allows attackers to deliver arbitrary executables via Man-in-the-Middle (MitM) attacks. This can lead to full system compromise, as the downloaded files are installed as privileged applications.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | playwright | 0 | 1.55.1 |
| Chainguard | langfuse | 0 | 3.121.0-r0 |
| Chainguard | langfuse-compat | 0 | 3.121.0-r0 |
| Chainguard | langfuse-worker | 0 | 3.121.0-r0 |
| Chainguard | librechat | 0 | 0 |
| Chainguard | librechat | 0 | 0.8.0-r2 |
| Chainguard | librechat-compat | 0 | 0 |
| Chainguard | librechat-compat | 0 | 0.8.0-r2 |
| Chainguard | librechat-dev | 0 | 0 |
| Chainguard | librechat-dev | 0 | 0.8.0-r2 |
| Wolfi | langfuse | 0 | 3.121.0-r0 |
| Wolfi | langfuse-compat | 0 | 3.121.0-r0 |
| Wolfi | langfuse-worker | 0 | 3.121.0-r0 |
Related vulnerabilities
- GHSA-wqch-xfxh-vrr4 body-parser is vulnerable to denial of service when url encoding is used Also affects langfuse
- CVE-2025-65944 Sentry-Javascript is an official Sentry SDKs for JavaScript. Also affects langfuse
- GHSA-6465-jgvq-jhgp Sentry's sensitive headers are leaked when `sendDefaultPii` is set to `true` Also affects langfuse
- CVE-2025-13466 body-parser 2.2.0 is vulnerable to denial of service due to inefficient handling of… Also affects langfuse
- GHSA-5j98-mcp5-4vw2 glob CLI: Command injection via -c/--cmd executes matches with shell:true Also affects langfuse
- CVE-2025-64756 glob CLI: Command injection via -c/--cmd executes matches with shell:true Also affects langfuse
- CVE-2025-13033 A vulnerability was identified in the email parsing library due to improper handling of… Also affects langfuse
- GHSA-mh29-5h37-fv8m js-yaml has prototype pollution in merge (<<) Also affects langfuse