← Scan another repo

github.com/coder/code-server

@ 7ff34158a105

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

Risk grade
F
100 / 100
Findings
72
1 critical14 high35 medium22 low0 info0 on CISA KEV0ATT&CK
Showing 72 of 72 findings

Findings

  • code-server vulnerable to Missing Origin Validation in WebSockets
    grypeCVE-2023-26114EPSS 0.3%
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • code-server's session cookie can be extracted by having user visit specially crafted proxy URL
    grypeCVE-2025-47269EPSS 36.0%
  • Inefficient Regular Expression Complexity in code-server
    grypeCVE-2021-3810EPSS 1.3%
  • 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.)
    semgrepsrc/node/main.ts:62
  • 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.)
    semgrepsrc/node/routes/vscode.ts:66
  • 'apt-get' missing '--no-install-recommends'
    'apt-get' install should use '--no-install-recommends' to minimize image size.
    trivyci/release-image/Dockerfile:9
  • 'dnf clean all' missing
    Cached package data should be cleaned after installation to reduce image size.
    trivyci/release-image/Dockerfile.fedora:9
  • 'zypper clean' missing
    The layer and image size should be reduced by deleting unneeded caches after running zypper.
    trivyci/release-image/Dockerfile.opensuse:9
  • Root file system is not read-only
    An immutable root file system prevents applications from writing to their local disk. This can limit intrusions, as attackers will not be able to tamper with the file system or write foreign executables to disk.
    trivyci/helm-chart/templates/deployment.yaml:31
  • Root file system is not read-only
    An immutable root file system prevents applications from writing to their local disk. This can limit intrusions, as attackers will not be able to tamper with the file system or write foreign executables to disk.
    trivyci/helm-chart/templates/deployment.yaml:45
  • Ensure that HEALTHCHECK instructions have been added to container images
    Ensure that HEALTHCHECK instructions have been added to container images on /ci/release-image/Dockerfile.
    checkovci/release-image/Dockerfile:1
  • Ensure that HEALTHCHECK instructions have been added to container images
    Ensure that HEALTHCHECK instructions have been added to container images on /ci/release-image/Dockerfile.opensuse.
    checkovci/release-image/Dockerfile.opensuse:1
  • Ensure that HEALTHCHECK instructions have been added to container images
    Ensure that HEALTHCHECK instructions have been added to container images on /ci/release-image/Dockerfile.fedora.
    checkovci/release-image/Dockerfile.fedora:1
  • Ensure that sudo isn't used
    Ensure that sudo isn't used on /ci/release-image/Dockerfile.opensuse.RUN
    checkovci/release-image/Dockerfile.opensuse:9
  • Ensure that sudo isn't used
    Ensure that sudo isn't used on /ci/release-image/Dockerfile.RUN
    checkovci/release-image/Dockerfile:9
  • Ensure the base image uses a non latest version tag
    Ensure the base image uses a non latest version tag on /ci/release-image/Dockerfile.FROM
    checkovci/release-image/Dockerfile:7
  • Ensure the base image uses a non latest version tag
    Ensure the base image uses a non latest version tag on /ci/release-image/Dockerfile.opensuse.FROM
    checkovci/release-image/Dockerfile.opensuse:7
  • Ensure the base image uses a non latest version tag
    Ensure the base image uses a non latest version tag on /ci/release-image/Dockerfile.fedora.FROM
    checkovci/release-image/Dockerfile.fedora:7
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Update code-server)
    checkov.github/workflows/update.yaml:0
  • 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(Update code-server)
    checkov.github/workflows/update.yaml:6
  • Cross site scripting in code-server
    grypeCVE-2021-42648EPSS 0.8%
  • @babel/core: Arbitrary File Read via sourceMappingURL Comment
    ## Impact Using `@babel/core` to compile maliciously crafted code can allow ab attacker to read any source map from the system that is running Babel, if these conditions are _all_ true: - the attacker controls the input source code - the attacker can read the output source code …
    osv-scannerCVE-2026-49356
  • @tootallnate/once vulnerable to Incorrect Control Flow Scoping
    Versions of the package @tootallnate/once before 3.0.1 are vulnerable to Incorrect Control Flow Scoping in promise resolving when AbortSignal option is used. The Promise remains in a permanently pending state after the signal is aborted, causing any await or .then() usage to hang…
    osv-scannerCVE-2026-3449
  • Babel has inefficient RegExp complexity in generated code with .replace when transpiling named capturing groups
    ### Impact When using Babel to compile [regular expression named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group), Babel will generate a polyfill for the `.replace` method that has quadratic complexity…
    osv-scannerCVE-2025-27789
  • brace-expansion Regular Expression Denial of Service vulnerability
    A vulnerability was found in juliangruber brace-expansion up to 1.1.11/2.0.1/3.0.0/4.0.0. It has been rated as problematic. Affected by this issue is the function expand of the file index.js. The manipulation leads to inefficient regular expression complexity. The attack may be l…
    osv-scannerCVE-2025-5889
  • 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 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 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
  • 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: Zero-step sequence causes process hang and memory exhaustion
    ### Impact A brace pattern with a zero step value (e.g., `{1..2..0}`) causes the sequence generation loop to run indefinitely, making the process hang for seconds and allocate heaps of memory. The loop in question: https://github.com/juliangruber/brace-expansion/blob/daa71bcb4…
    osv-scannerCVE-2026-33750
  • JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases
    ### Summary A crafted YAML document can trigger algorithmic CPU exhaustion in `js-yaml` merge-key processing (`<<`) by repeating the same alias many times in a merge sequence. This causes quadratic parse-time behavior relative to input size and can block a Node.js worker/event …
    osv-scannerCVE-2026-53550
  • js-yaml: YAML merge-key chains can force quadratic CPU consumption
    ### Impact js-yaml can spend quadratic CPU time parsing a document whose size grows only linearly. The issue is triggered by a chain of mappings where each mapping merges the previous one: ```yaml a0: &a0 { k0: 0 } a1: &a1 { <<: *a0, k1: 1 } a2: &a2 { <<: *a1, k2: 2 } a3: &a3 {…
    osv-scannerCVE-2026-59869
  • 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.)
    semgrepci/helm-chart/templates/secrets.yaml:13
  • 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.)
    semgrepci/helm-chart/templates/secrets.yaml:15
  • 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/FAQ.md:397
  • 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.)
    semgrepsrc/node/cli.ts:14
  • ':latest' tag used
    When using a 'FROM' statement you should use a specific tag to avoid uncontrolled behavior when the image is updated.
    trivyci/release-image/Dockerfile.opensuse:7
  • Can elevate its own privileges
    A program inside the container can elevate its own privileges and run as root, which might give the program control over the container and node.
    trivyci/helm-chart/templates/deployment.yaml:45
  • Can elevate its own privileges
    A program inside the container can elevate its own privileges and run as root, which might give the program control over the container and node.
    trivyci/helm-chart/templates/deployment.yaml:31
  • Image tag ":latest" used
    It is best to avoid using the ':latest' image tag when deploying containers in production. Doing so makes it hard to track which version of the image is running, and hard to roll back the version.
    trivyci/helm-chart/templates/deployment.yaml:31
  • Runs as root user
    Force the running image to run as a non-root user to ensure least privileges.
    trivyci/helm-chart/templates/deployment.yaml:45
  • Runs as root user
    Force the running image to run as a non-root user to ensure least privileges.
    trivyci/helm-chart/templates/deployment.yaml:31
  • Seccomp policies disabled
    A program inside the container can bypass Seccomp protection policies.
    trivyci/helm-chart/templates/deployment.yaml:0

This report is public.