Skip to content

chore(deps): update dependency playwright to v1.55.1 [security]#171

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/npm-playwright-vulnerability
Open

chore(deps): update dependency playwright to v1.55.1 [security]#171
renovate[bot] wants to merge 1 commit intomainfrom
renovate/npm-playwright-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Oct 23, 2025

This PR contains the following updates:

Package Change Age Confidence
playwright (source) 1.52.01.55.1 age confidence

Playwright downloads and installs browsers without verifying the authenticity of the SSL certificate

CVE-2025-59288 / GHSA-7mvr-c777-76hp

More information

Details

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:

In each case, the shell scripts download a browser installer package using curl -k and immediately install it:

curl --retry 3 -o ./<pkg-file> -k <url>
sudo installer -pkg /tmp/<pkg-file> -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
Credit
  • This vulnerability was uncovered by tooling by Socket
  • This vulnerability was confirmed by @​evilpacket
  • This vulnerability was reported by @​JLLeitschuh at Socket
Disclosure

Severity

  • CVSS Score: 8.7 / 10 (High)
  • Vector String: 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

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

microsoft/playwright (playwright)

v1.55.1

Compare Source

Highlights

#​37479 - [Bug]: Upgrade Chromium to 140.0.7339.186.
#​37147 - [Regression]: Internal error: step id not found.
#​37146 - [Regression]: HTML reporter displays a broken chip link when there are no projects.
#​37137 - Revert "fix(a11y): track inert elements as hidden".
#​37532 - chore: do not use -k option

Browser Versions

  • Chromium 140.0.7339.186
  • Mozilla Firefox 141.0
  • WebKit 26.0

This version was also tested against the following stable channels:

  • Google Chrome 139
  • Microsoft Edge 139

v1.55.0

Compare Source

New APIs

  • New Property testStepInfo.titlePath Returns the full title path starting from the test file, including test and step titles.

Codegen

  • Automatic toBeVisible() assertions: Codegen can now generate automatic toBeVisible() assertions for common UI interactions. This feature can be enabled in the Codegen settings UI.

Breaking Changes

  • ⚠️ Dropped support for Chromium extension manifest v2.

Miscellaneous

  • Added support for Debian 13 "Trixie".

Browser Versions

  • Chromium 140.0.7339.16
  • Mozilla Firefox 141.0
  • WebKit 26.0

This version was also tested against the following stable channels:

  • Google Chrome 139
  • Microsoft Edge 139

v1.54.2

Compare Source

Highlights

#​36714 - [Regression]: Codegen is not able to launch in Administrator Terminal on Windows (ProtocolError: Protocol error)
#​36828 - [Regression]: Playwright Codegen keeps spamming with selected option
#​36810 - [Regression]: Starting Codegen with target language doesn't work anymore

Browser Versions

  • Chromium 139.0.7258.5
  • Mozilla Firefox 140.0.2
  • WebKit 26.0

This version was also tested against the following stable channels:

  • Google Chrome 140
  • Microsoft Edge 140

v1.54.1

Compare Source

Highlights

#​36650 - [Regression]: 1.54.0 breaks downloading browsers when an HTTP(S) proxy is used

Browser Versions

  • Chromium 139.0.7258.5
  • Mozilla Firefox 140.0.2
  • WebKit 26.0

This version was also tested against the following stable channels:

  • Google Chrome 140
  • Microsoft Edge 140

v1.54.0

Compare Source

Highlights

  • New cookie property partitionKey in browserContext.cookies() and browserContext.addCookies(). This property allows to save and restore partitioned cookies. See CHIPS MDN article for more information. Note that browsers have different support and defaults for cookie partitioning.

  • New option noSnippets to disable code snippets in the html report.

    import { defineConfig } from '@&#8203;playwright/test';
    
    export default defineConfig({
      reporter: [['html', { noSnippets: true }]]
    });
  • New property location in test annotations, for example in testResult.annotations and testInfo.annotations. It shows where the annotation like test.skip or test.fixme was added.

Command Line

  • New option --user-data-dir in multiple commands. You can specify the same user data dir to reuse browsing state, like authentication, between sessions.

    npx playwright codegen --user-data-dir=./user-data
  • Option -gv has been removed from the npx playwright test command. Use --grep-invert instead.

  • npx playwright open does not open the test recorder anymore. Use npx playwright codegen instead.

Miscellaneous

  • Support for Node.js 16 has been removed.
  • Support for Node.js 18 has been deprecated, and will be removed in the future.

Browser Versions

  • Chromium 139.0.7258.5
  • Mozilla Firefox 140.0.2
  • WebKit 26.0

This version was also tested against the following stable channels:

  • Google Chrome 140
  • Microsoft Edge 140

v1.53.2

Compare Source

Highlights

#​36317 - [Regression]: Merging pre-1.53 blob reports loses attachments
#​36357 - [Regression (Chromium)]: CDP missing trailing slash
#​36292 - [Bug (MSEdge)]: Edge fails to launch when using msRelaunchNoCompatLayer

Browser Versions

  • Chromium 138.0.7204.23
  • Mozilla Firefox 139.0
  • WebKit 18.5

This version was also tested against the following stable channels:

  • Google Chrome 137
  • Microsoft Edge 137

v1.53.1

Compare Source

Highlights

#​36339 - [Regression]: Click can fail when scrolling required
#​36307 - [Regression (Chromium)]: Under some scenarios filling a textarea doesn't fill
#​36294 - [Regression (Firefox)]: setViewportSize times out
#​36350 - [Fix]: Display HTTP method for fetch trace entries

Browser Versions

  • Chromium 138.0.7204.23
  • Mozilla Firefox 139.0
  • WebKit 18.5

This version was also tested against the following stable channels:

  • Google Chrome 137
  • Microsoft Edge 137

v1.53.0

Compare Source

Trace Viewer and HTML Reporter Updates

  • New Steps in Trace Viewer and HTML reporter: New Trace Viewer Steps

  • New option in 'html' reporter to set the title of a specific test run:

    import { defineConfig } from '@&#8203;playwright/test';
    
    export default defineConfig({
      reporter: [['html', { title: 'Custom test run #&#8203;1028' }]]
    });

Miscellaneous

  • New option kind in testInfo.snapshotPath() controls which snapshot path template is used.

  • New method locator.describe() to describe a locator. Used for trace viewer and reports.

    const button = page.getByTestId('btn-sub').describe('Subscribe button');
    await button.click();
  • npx playwright install --list will now list all installed browsers, versions and locations.

Browser Versions

  • Chromium 138.0.7204.4
  • Mozilla Firefox 139.0
  • WebKit 18.5

This version was also tested against the following stable channels:

  • Google Chrome 137
  • Microsoft Edge 137

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • ""
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Oct 23, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
26th-web-team-1-fe Error Error Mar 5, 2026 2:02pm

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Oct 23, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Oct 23, 2025

🎨 Storybook Preview: https://685a32a1c0bbd269fdb67af4-bdemrtkvxb.chromatic.com/
🔗 Chromatic Build: https://www.chromatic.com/build?appId=685a32a1c0bbd269fdb67af4&number=422
🕖 Updated at: 2026년 03월 31일 02시 44분 50초

@renovate renovate Bot force-pushed the renovate/npm-playwright-vulnerability branch from 01ec366 to 8fafd26 Compare December 4, 2025 11:56
@renovate renovate Bot force-pushed the renovate/npm-playwright-vulnerability branch from 8fafd26 to 05b657b Compare December 7, 2025 08:30
@renovate renovate Bot force-pushed the renovate/npm-playwright-vulnerability branch from 05b657b to 55e65ad Compare December 31, 2025 11:54
@renovate renovate Bot force-pushed the renovate/npm-playwright-vulnerability branch from 55e65ad to bf9ff52 Compare December 31, 2025 11:58
@renovate renovate Bot force-pushed the renovate/npm-playwright-vulnerability branch from bf9ff52 to d5596f0 Compare February 12, 2026 10:10
@renovate renovate Bot force-pushed the renovate/npm-playwright-vulnerability branch from d5596f0 to f267724 Compare March 5, 2026 14:00
@renovate renovate Bot changed the title chore(deps): update dependency playwright to v1.55.1 [security] chore(deps): update dependency playwright to v1.55.1 [security] - autoclosed Mar 27, 2026
@renovate renovate Bot closed this Mar 27, 2026
@renovate renovate Bot deleted the renovate/npm-playwright-vulnerability branch March 27, 2026 01:24
@renovate renovate Bot changed the title chore(deps): update dependency playwright to v1.55.1 [security] - autoclosed chore(deps): update dependency playwright to v1.55.1 [security] Mar 30, 2026
@renovate renovate Bot reopened this Mar 30, 2026
@renovate renovate Bot force-pushed the renovate/npm-playwright-vulnerability branch 2 times, most recently from f267724 to 2a5fddc Compare March 30, 2026 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants