GitHub Advisoryadvisory · npm

GHSA-7mvr-c777-76hp Playwright downloads and installs browsers without verifying the authenticity of the SSL certificate

HIGH Published 2025-10-14 Modified 2025-10-24 Official page ↗
Aliases
CVE-2025-59288
Ecosystem
npm
Packages
playwright
Severity
High
CVSS vector
CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Weaknesses
CWE-347
Reviewed
2025-10-20

Affected packages

• npm playwright: < 1.55.1 → fixed in 1.55.1

Description

Summary 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. Details The following scripts in the `microsoft/playwright` repository at commit `bee11cbc28f24bd18e726163d0b9b1571b4f26a8` use `curl -k` to fetch and install executable packages without verifying the authenticity of the SSL certificate: • `packages/playwright-core/bin/reinstall_chrome_beta_mac.sh` • `packages/playwright-core/bin/reinstall_chrome_stable_mac.sh` • `packages/playwright-core/bin/reinstall_msedge_dev_mac.sh` • `packages/playwright-core/bin/reinstall_msedge_beta_mac.sh` • `packages/playwright-core/bin/reinstall_msedge_stable_mac.sh` In each case, the shell scripts download a browser installer package using `curl -k` and immediately install it: ```shell curl --retry 3 -o ./ -k sudo installer -pkg /tmp/ -target / ``` Disabling SSL verification (`-k`) means the download can be intercepted and replaced with malicious content. PoC A high-level exploitation scenario: 1. An attacker performs a MitM attack on a network where the victim runs one of these scripts. 2. The attacker intercepts the HTTPS request and serves a malicious package (for example, a trojaned browser installer). 3. Because `curl -k` is used, the script downloads and installs the attacker's payload without any certificate validation. 4. The attacker's code is executed with system privileges, leading to full compromise. No special configuration is needed: simply running these scripts on any untrusted or hostile network is enough. Impact This is a critical Remote Code Execution (RCE) vulnerability due to improper SSL certificate validation (CWE-295: Improper Certificate Validation). Any user or automation running these scripts is at risk of arbitrary code execution as root/admin, system compromise, data theft, or persistent malware installation. The risk is especially severe because browser packages are installed with elevated privileges and the scripts may be used in CI/CD or developer environments. Fix • https://github.com/microsoft/playwright/commit/72c62d840247d9defd87c6beb0344d456794b570 • https://github.com/microsoft/playwright/pull/37532 • https://github.com/microsoft/playwright/releases/tag/v1.56.0 Credit • This vulnerability was uncovered by tooling by Socket • This vulnerability was confirmed by @evilpacket • This vulnerability was reported by @JLLeitschuh at Socket Disclosure • September 10th, 2025 - Disclosed to Microsoft privately via https://github.com/microsoft/playwright/security/advisories/GHSA-gx27-2j22-qcx8 • September 11th, 2025 - Reported to Microsoft via MSRC Researcher Portal - https://msrc.microsoft.com/report/vulnerability/VULN-162854 • September 11th, 2025 - Microsoft closed report as "Complete - N/A" • September 18th, 2025 - Following a LinkedIn Post

Related

Alias · CVE (1)

  • CVE-2025-59288 Improper verification of cryptographic signature in Github: Playwright allows an unauthorized attacker to perform spoofing over an adjacent… vulnerability

Weakness · CWE (1)

  • CWE-347 Improper Verification of Cryptographic Signature weakness

References