github.com/microsoft/playwright
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-internalgrype
- Detected aws-access-token: Identified a pattern that may indicate AWS credentials, risking unauthorized cloud resource access and data breaches on AWS platformsIdentified 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 encryptionIdentified 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 encryptionIdentified 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 encryptionIdentified 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 encryptionIdentified 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 encryptionIdentified 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 encryptionIdentified a Private Key, which may compromise cryptographic security and sensitive data encryption.gitleaks
- @actions/download-artifact has an Arbitrary File Write via artifact extractiongrype
- PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosuregrype
- 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 createdEnsure 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 createdEnsure 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 createdEnsure 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 imagesEnsure 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 imagesEnsure 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 imagesEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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-allEnsure 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 DelimitersgrypeCVE-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 directoryUse 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 directoryUse 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 directoryUse 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 directoryUse 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 directoryUse 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 directoryUse 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 directoryUse 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 directoryUse 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 directoryUse 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 directoryUse 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 directoryUse 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 directoryUse 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 sequencesfast-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.