← Scan another repo

github.com/microsoft/playwright

@ 1720c55cfadd

Submitted 8/4/2026, 10:25:54 AM · Status: ok

Risk grade
F
100 / 100
Findings
86
1 critical21 high61 medium3 low0 info0 on CISA KEV0ATT&CK
Showing 86 of 86 findings

Findings

  • Malware in playwright-internal
    grype
  • Detected aws-access-token: Identified a pattern that may indicate AWS credentials, risking unauthorized cloud resource access and data breaches on AWS platforms
    Identified a pattern that may indicate AWS credentials, risking unauthorized cloud resource access and data breaches on AWS platforms.
    gitleaks
  • Detected private-key: Identified a Private Key, which may compromise cryptographic security and sensitive data encryption
    Identified a Private Key, which may compromise cryptographic security and sensitive data encryption.
    gitleaks
  • Detected private-key: Identified a Private Key, which may compromise cryptographic security and sensitive data encryption
    Identified a Private Key, which may compromise cryptographic security and sensitive data encryption.
    gitleaks
  • Detected private-key: Identified a Private Key, which may compromise cryptographic security and sensitive data encryption
    Identified a Private Key, which may compromise cryptographic security and sensitive data encryption.
    gitleaks
  • Detected private-key: Identified a Private Key, which may compromise cryptographic security and sensitive data encryption
    Identified a Private Key, which may compromise cryptographic security and sensitive data encryption.
    gitleaks
  • Detected private-key: Identified a Private Key, which may compromise cryptographic security and sensitive data encryption
    Identified a Private Key, which may compromise cryptographic security and sensitive data encryption.
    gitleaks
  • Detected private-key: Identified a Private Key, which may compromise cryptographic security and sensitive data encryption
    Identified a Private Key, which may compromise cryptographic security and sensitive data encryption.
    gitleaks
  • @actions/download-artifact has an Arbitrary File Write via artifact extraction
    grype
  • PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
    grype
  • Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    semgreppackages/playwright-core/src/server/javascript.ts:311
  • Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    semgreppackages/playwright-core/src/server/javascript.ts:320
  • Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    semgreppackages/playwright-core/src/tools/backend/evaluate.ts:50
  • Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    semgreppackages/playwright-core/src/tools/backend/evaluate.ts:57
  • Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    semgreppackages/playwright-ct-vue/registerSource.mjs:82
  • Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    semgreppackages/playwright/src/transform/transform.ts:273
  • Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    semgreppackages/playwright/src/transform/transform.ts:280
  • Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    semgreppackages/utils/httpServer.ts:122
  • Image user should not be 'root'
    Running containers with 'root' user can lead to a container escape situation. It is a best practice to run containers as non-root users, which can be done by adding a 'USER' statement to the Dockerfile.
    trivyutils/docker/Dockerfile.resolute:0
  • Image user should not be 'root'
    Running containers with 'root' user can lead to a container escape situation. It is a best practice to run containers as non-root users, which can be done by adding a 'USER' statement to the Dockerfile.
    trivyutils/docker/Dockerfile.jammy:0
  • Image user should not be 'root'
    Running containers with 'root' user can lead to a container escape situation. It is a best practice to run containers as non-root users, which can be done by adding a 'USER' statement to the Dockerfile.
    trivyutils/docker/Dockerfile.noble:0
  • PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
    ## Vulnerability Details **File**: `lib/previous-map.js` **Line**: 87-98 (`loadFile`), 129-144 (`loadMap`) ### Root Cause PostCSS auto-detects a `/*# sourceMappingURL=... */` comment inside the CSS text it is asked to parse and, unless the caller explicitly passes `map: false`…
    trivy
  • Ensure that a user for the container has been created
    Ensure that a user for the container has been created on /utils/docker/Dockerfile.noble.
    checkovutils/docker/Dockerfile.noble:1
  • Ensure that a user for the container has been created
    Ensure that a user for the container has been created on /utils/docker/Dockerfile.jammy.
    checkovutils/docker/Dockerfile.jammy:1
  • Ensure that a user for the container has been created
    Ensure that a user for the container has been created on /utils/docker/Dockerfile.resolute.
    checkovutils/docker/Dockerfile.resolute:1
  • Ensure that HEALTHCHECK instructions have been added to container images
    Ensure that HEALTHCHECK instructions have been added to container images on /utils/docker/Dockerfile.resolute.
    checkovutils/docker/Dockerfile.resolute:1
  • Ensure that HEALTHCHECK instructions have been added to container images
    Ensure that HEALTHCHECK instructions have been added to container images on /utils/docker/Dockerfile.noble.
    checkovutils/docker/Dockerfile.noble:1
  • Ensure that HEALTHCHECK instructions have been added to container images
    Ensure that HEALTHCHECK instructions have been added to container images on /utils/docker/Dockerfile.jammy.
    checkovutils/docker/Dockerfile.jammy:1
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(PR: bump driver/Docker Node.js)
    checkov.github/workflows/roll_nodejs.yml:12
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(PR: bump stable-test-runner)
    checkov.github/workflows/roll_stable_test_runner.yml:12
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(tests BiDi)
    checkov.github/workflows/tests_bidi.yml:29
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(components)
    checkov.github/workflows/tests_components.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(tests docker)
    checkov.github/workflows/tests_docker.yml:36
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(tests docker (changes))
    checkov.github/workflows/tests_docker_changes.yml:21
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(tests docker (release))
    checkov.github/workflows/tests_docker_release.yml:11
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(extension)
    checkov.github/workflows/tests_extension.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(tests WebView (iOS Simulator))
    checkov.github/workflows/tests_webview_simulator.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Update test results DB)
    checkov.github/workflows/update_test_results_db.yml:17
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Copilot Setup Steps)
    checkovexamples/todomvc/.github/workflows/copilot-setup-steps.yml:16
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(MCP)
    checkov.github/workflows/tests_mcp.yml:53
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(tests 1)
    checkov.github/workflows/tests_primary.yml:53
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Copilot Setup Steps)
    checkov.github/workflows/copilot-setup-steps.yml:7
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(infra)
    checkov.github/workflows/infra.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Publish Extension to Chrome Web Store)
    checkov.github/workflows/publish_extension.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(publish release - npm, trace viewer)
    checkov.github/workflows/publish_release.yml:18
  • The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty.
    The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty. on on(tests BiDi)
    checkov.github/workflows/tests_bidi.yml:6
  • fast-xml-parser XMLBuilder: XML Comment and CDATA Injection via Unescaped Delimiters
    grypeCVE-2026-41650EPSS 0.2%
  • brace-expansion: DoS via exponential-time expansion of consecutive non-expanding {} groups
    ### Summary brace-expansion's expand() exhibits exponential-time - O(2ⁿ) - behavior in the number of consecutive non-expanding {} groups. A short, all-ASCII input (~90 bytes/30 groups) blocks the calling thread for minutes; a slightly longer input hangs it effectively indefinitel…
    osv-scannerCVE-2026-13149
  • brace-expansion: DoS via unbounded expansion length causing an out-of-memory process crash
    ### Summary `expand()` bounds the *number* of results it produces (the `max` option, `100_000` by default) but not their *length*. By chaining many brace groups, an attacker keeps the result count under `max` while making every result grow with the number of groups. Building `ma…
    osv-scannerCVE-2026-14257
  • brace-expansion: DoS via unbounded expansion length causing an out-of-memory process crash
    ### Summary `expand()` bounds the *number* of results it produces (the `max` option, `100_000` by default) but not their *length*. By chaining many brace groups, an attacker keeps the result count under `max` while making every result grow with the number of groups. Building `ma…
    osv-scannerCVE-2026-14257
  • fast-uri vulnerable to host confusion via literal backslash authority delimiter
    ### Impact `fast-uri` v4.1.0 and earlier do not treat a literal backslash (U+005C) as an authority delimiter. Node's native WHATWG `URL` (used by `fetch()`, `undici`, and Node's `http`/`https` clients) normalizes `\` to `/` for special schemes (`http`, `https`, `ws`, `wss`, `ftp…
    osv-scannerCVE-2026-16221
  • fast-xml-parser XMLBuilder: XML Comment and CDATA Injection via Unescaped Delimiters
    # fast-xml-parser XMLBuilder: Comment and CDATA Injection via Unescaped Delimiters ## Summary fast-xml-parser XMLBuilder does not escape the `-->` sequence in comment content or the `]]>` sequence in CDATA sections when building XML from JavaScript objects. This allows XML inje…
    osv-scannerCVE-2026-41650
  • Node.js Adapter for Hono: Path traversal in `serve-static` on Windows via encoded backslash (`%5C`)
    The same as the `hono` core [Path traversal in `serve-static` on Windows via encoded backslash (`%5C`)](https://github.com/honojs/hono/security/advisories/GHSA-wwfh-h76j-fc44). ### Summary On Windows hosts, an encoded backslash (`%5C`) in the request path decodes to `\`, which …
    osv-scanner
  • PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
    ## Vulnerability Details **File**: `lib/previous-map.js` **Line**: 87-98 (`loadFile`), 129-144 (`loadMap`) ### Root Cause PostCSS auto-detects a `/*# sourceMappingURL=... */` comment inside the CSS text it is asked to parse and, unless the caller explicitly passes `map: false`…
    osv-scanner
  • MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    semgreppackages/playwright-core/src/tools/cli-client/program.ts:469
  • MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    semgreppackages/playwright-core/src/tools/cli-client/registry.ts:171
  • MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    semgreppackages/playwright/src/common/fixtures.ts:241
  • MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    semgreppackages/playwright/src/transform/transform.ts:257
  • MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    MD5/SHA1 is cryptographically broken for security use (integrity/signatures/ password hashing). Use SHA-256+ or a password KDF. (Apache-2.0.)
    semgreppackages/utils/crypto.ts:26
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepdocs/src/network.md:107
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepdocs/src/test-api/class-fixtures.md:154
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/web/src/components/codeMirrorWrapper.tsx:231
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepdocs/src/test-fixtures-js.md:372
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/playwright-core/src/tools/skills/playwright-cli/references/request-mocking.md:48
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/playwright/types/test.d.ts:8083
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrep.azure-pipelines/publish-docker.yml:118
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepbrowser_patches/webkit/embedder/Playwright/win/PlaywrightLib.rc:205
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepdocs/src/ci-intro.md:308
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepdocs/src/network.md:61
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepdocs/src/network.md:71
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.noble:43
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.resolute:54
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.resolute:58
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.resolute:62
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.resolute:44
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.noble:53
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.noble:57
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.noble:61
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.jammy:62
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.jammy:66
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.jammy:70
  • 'RUN cd ...' to change directory
    Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
    trivyutils/docker/Dockerfile.jammy:43
  • fast-xml-parser: fast-xml-parser: XML injection via improper escaping of comment and CDATA sequences
    fast-xml-parser allows users to process XML from JS object without C/C++ based libraries or callbacks. Prior to version 5.7.0, XMLBuilder does not escape the "-->" sequence in comment content or the "]]>" sequence in CDATA sections when building XML from JavaScript objects. This …
    trivyCVE-2026-41650

This report is public.