Skip to content
Heist/ feed
Back to feed
Medium

ScanCode.io command injection in docker image fetch process

Type: advisorySources: OSV

ScanCode.io is a server to script and automate software composition analysis with ScanPipe pipelines. Prior to version 32.5.1, the software has a possible command injection vulnerability in the docker fetch process as it allows to append malicious commands in the `docker_reference` parameter. In the function `scanpipe/pipes/fetch.py:fetch_docker_image` the parameter `docker_reference` is user controllable. The `docker_reference` variable is then passed to the vulnerable function `get_docker_image_platform`. However, the `get_docker_image_plaform` function constructs a shell command with the passed `docker_reference`. The `pipes.run_command` then executes the shell command without any prior sanitization, making the function vulnerable to command injections. A malicious user who is able to create or add inputs to a project can inject commands. Although the command injections are blind and the user will not receive direct feedback without logs, it is still possible to cause damage to the server/container. The vulnerability appears for example if a malicious user adds a semicolon after the input of `docker://;`, it would allow appending malicious commands. Version 32.5.1 contains a patch for this issue. The `docker_reference` input should be sanitized to avoid command injections and, as a workaround, one may avoid creating commands with user controlled input directly.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2023-39523
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 15:51 UTC · Revision 1

Source evidence

ScanCode.io command injection in docker image fetch process

core-osv · Original source

Published 7 Aug 2023, 20:55 UTC

ScanCode.io is a server to script and automate software composition analysis with ScanPipe pipelines. Prior to version 32.5.1, the software has a possible command injection vulnerability in the docker fetch process as it allows to append malicious commands in the `docker_reference` parameter. In the function `scanpipe/pipes/fetch.py:fetch_docker_image` the parameter `docker_reference` is user controllable. The `docker_reference` variable is then passed to the vulnerable function `get_docker_image_platform`. However, the `get_docker_image_plaform` function constructs a shell command with the passed `docker_reference`. The `pipes.run_command` then executes the shell command without any prior sanitization, making the function vulnerable to command injections. A malicious user who is able to create or add inputs to a project can inject commands. Although the command injections are blind and the user will not receive direct feedback without logs, it is still possible to cause damage to the server/container. The vulnerability appears for example if a malicious user adds a semicolon after the input of `docker://;`, it would allow appending malicious commands. Version 32.5.1 contains a patch for this issue. The `docker_reference` input should be sanitized to avoid command injections and, as a workaround, one may avoid creating commands with user controlled input directly.

osv:CVE-2023-39523
Complete source record
{
  "id": "7290e29e82cfb488ef4eacd6d3be43023607c2b63bf99f17cf0b049a176bcc5b",
  "url": "https://osv.dev/vulnerability/CVE-2023-39523",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "ScanCode.io command injection in docker image fetch process",
    "summary": "ScanCode.io is a server to script and automate software composition analysis with ScanPipe pipelines. Prior to version 32.5.1, the software has a possible command injection vulnerability in the docker fetch process as it allows to append malicious commands in the `docker_reference` parameter. In the function `scanpipe/pipes/fetch.py:fetch_docker_image` the parameter `docker_reference` is user controllable. The `docker_reference` variable is then passed to the vulnerable function `get_docker_image_platform`. However, the `get_docker_image_plaform` function constructs a shell command with the passed `docker_reference`. The `pipes.run_command` then executes the shell command without any prior sanitization, making the function vulnerable to command injections. A malicious user who is able to create or add inputs to a project can inject commands. Although the command injections are blind and the user will not receive direct feedback without logs, it is still possible to cause damage to the server/container. The vulnerability appears for example if a malicious user adds a semicolon after the input of `docker://;`, it would allow appending malicious commands. Version 32.5.1 contains a patch for this issue. The `docker_reference` input should be sanitized to avoid command injections and, as a workaround, one may avoid creating commands with user controlled input directly.",
    "evidence": "osv:CVE-2023-39523",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2023-39523",
      "aliases": [
        "CVE-2023-39523",
        "GHSA-2ggp-cmvm-f62f",
        "PYSEC-2026-1904"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/aboutcode-org/scancode.io",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "8bbf0c08f2a95b8f0bba051f549e2b3d298b6383"
                },
                {
                  "fixed": "07ec0de1964b14bf085a1c9a27ece2b61ab6105c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:nexb:scancode.io:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "32.5.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "07ec0de1964b14bf085a1c9a27ece2b61ab6105c"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "8bbf0c08f2a95b8f0bba051f549e2b3d298b6383"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v32.5.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v32.5.0",
            "v32.4.0",
            "v32.3.0",
            "v32.2.0",
            "v32.1.0",
            "v32.0.1",
            "v32.0.0",
            "v31.0.0",
            "v30.2.0",
            "v21.6.10",
            "v21.5.12",
            "v21.4.28",
            "v21.4.14",
            "21.4.5",
            "1.1.0",
            "1.0.7",
            "1.0.6",
            "1.0.5",
            "1.0.4",
            "1.0.3",
            "1.0.2",
            "1.0.1",
            "1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-39523.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.189817992Z",
      "provider": "osv",
      "references": [
        "https://github.com/nexB/scancode.io/blob/main/scanpipe/pipes/fetch.py#L185",
        "https://github.com/nexB/scancode.io/releases/tag/v32.5.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/39xxx/CVE-2023-39523.json",
        "https://github.com/nexB/scancode.io/security/advisories/GHSA-2ggp-cmvm-f62f",
        "https://nvd.nist.gov/vuln/detail/CVE-2023-39523",
        "https://github.com/nexB/scancode.io/commit/07ec0de1964b14bf085a1c9a27ece2b61ab6105c"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-77"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/39xxx/CVE-2023-39523.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2023-39523",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497018,
  "published_at": "2023-08-07T20:55:46.855+00:00"
}