CVE-2023-7080 (GCVE-0-2023-7080)
Vulnerability from cvelistv5
Published
2023-12-29 11:58
Modified
2024-08-02 08:50
CWE
  • CWE-269 - Improper Privilege Management
Summary
The V8 inspector intentionally allows arbitrary code execution within the Workers sandbox for debugging. wrangler dev would previously start an inspector server listening on all network interfaces. This would allow an attacker on the local network to connect to the inspector and run arbitrary code. Additionally, the inspector server did not validate Origin/Host headers, granting an attacker that can trick any user on the local network into opening a malicious website the ability to run code. If wrangler dev --remote was being used, an attacker could access production resources if they were bound to the worker. This issue was fixed in wrangler@3.19.0 and wrangler@2.20.2. Whilst wrangler dev's inspector server listens on local interfaces by default as of wrangler@3.16.0, an SSRF vulnerability in miniflare https://github.com/cloudflare/workers-sdk/security/advisories/GHSA-fwvg-2739-22v7  (CVE-2023-7078) allowed access from the local network until wrangler@3.18.0. wrangler@3.19.0 and wrangler@2.20.2 introduced validation for the Origin/Host headers.
Impacted products
Vendor Product Version
Cloudflare wrangler Version: 0
Version: 0
Version: 0
Version: 0
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T08:50:07.794Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/cloudflare/workers-sdk/security/advisories/GHSA-f8mp-x433-5wpf"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/cloudflare/workers-sdk/issues/4430"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/cloudflare/workers-sdk/pull/4437"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/cloudflare/workers-sdk/pull/4535"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/cloudflare/workers-sdk/pull/4550"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "packageName": "wrangler",
          "platforms": [
            "Windows",
            "MacOS",
            "Linux"
          ],
          "product": "wrangler",
          "repo": "https://github.com/cloudflare/workers-sdk",
          "vendor": "Cloudflare",
          "versions": [
            {
              "changes": [
                {
                  "at": "3.19.0",
                  "status": "unaffected"
                }
              ],
              "lessThanOrEqual": "3.0.0",
              "status": "affected",
              "version": "0",
              "versionType": "patch"
            },
            {
              "changes": [
                {
                  "at": "3.19.0",
                  "status": "unaffected"
                }
              ],
              "lessThan": "3.19.0",
              "status": "affected",
              "version": "0",
              "versionType": "patch"
            },
            {
              "changes": [
                {
                  "at": "2.20.2",
                  "status": "unaffected"
                }
              ],
              "lessThanOrEqual": "2.0.0",
              "status": "affected",
              "version": "0",
              "versionType": "patch"
            },
            {
              "changes": [
                {
                  "at": "2.20.2",
                  "status": "unaffected"
                }
              ],
              "lessThan": "2.20.2",
              "status": "affected",
              "version": "0",
              "versionType": "patch"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "reporter",
          "user": "00000000-0000-4000-9000-000000000000",
          "value": " Peter Wu (Lekensteyn)"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "The V8 inspector intentionally allows arbitrary code execution within the Workers sandbox for debugging. \u003cb\u003ewrangler dev\u003c/b\u003e would previously start an inspector server listening on all network interfaces. This would allow an attacker on the local network to connect to the inspector and run arbitrary code. Additionally, the inspector server did not validate \u003cb\u003eOrigin\u003c/b\u003e/\u003cb\u003eHost\u003c/b\u003e headers, granting an attacker that can trick any user on the local network into opening a malicious website the ability to run code. If \u003cb\u003ewrangler dev --remote\u003c/b\u003e was being used, an attacker could access production resources if they were bound to the worker.\u003cbr\u003e\u003cbr\u003eThis issue was fixed in \u003cb\u003ewrangler@3.19.0\u003c/b\u003e and \u003cb\u003ewrangler@2.20.2\u003c/b\u003e. Whilst \u003cb\u003ewrangler dev\u003c/b\u003e\u0027s inspector server listens on local interfaces by default as of \u003cb\u003ewrangler@3.16.0\u003c/b\u003e, an \u003ca target=\"_blank\" rel=\"nofollow\" href=\"https://github.com/cloudflare/workers-sdk/security/advisories/GHSA-fwvg-2739-22v7\"\u003eSSRF vulnerability in miniflare\u003c/a\u003e\u0026nbsp;(CVE-2023-7078) allowed access from the local network until \u003cb\u003ewrangler@3.18.0\u003c/b\u003e. \u003cb\u003ewrangler@3.19.0\u003c/b\u003e and \u003cb\u003ewrangler@2.20.2\u003c/b\u003e introduced validation for the \u003cb\u003eOrigin\u003c/b\u003e/\u003cb\u003eHost\u003c/b\u003e headers.\u003cbr\u003e"
            }
          ],
          "value": "The V8 inspector intentionally allows arbitrary code execution within the Workers sandbox for debugging. wrangler dev would previously start an inspector server listening on all network interfaces. This would allow an attacker on the local network to connect to the inspector and run arbitrary code. Additionally, the inspector server did not validate Origin/Host headers, granting an attacker that can trick any user on the local network into opening a malicious website the ability to run code. If wrangler dev --remote was being used, an attacker could access production resources if they were bound to the worker.\n\nThis issue was fixed in wrangler@3.19.0 and wrangler@2.20.2. Whilst wrangler dev\u0027s inspector server listens on local interfaces by default as of wrangler@3.16.0, an  SSRF vulnerability in miniflare https://github.com/cloudflare/workers-sdk/security/advisories/GHSA-fwvg-2739-22v7 \u00a0(CVE-2023-7078) allowed access from the local network until wrangler@3.18.0. wrangler@3.19.0 and wrangler@2.20.2 introduced validation for the Origin/Host headers.\n"
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-549",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-549 Local Execution of Code"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "ADJACENT_NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.5,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "CHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N",
            "version": "3.1"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-269",
              "description": "CWE-269 Improper Privilege Management",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2023-12-29T12:08:25.935Z",
        "orgId": "a22f1246-ba21-4bb4-a601-ad51614c1513",
        "shortName": "cloudflare"
      },
      "references": [
        {
          "url": "https://github.com/cloudflare/workers-sdk/security/advisories/GHSA-f8mp-x433-5wpf"
        },
        {
          "url": "https://github.com/cloudflare/workers-sdk/issues/4430"
        },
        {
          "url": "https://github.com/cloudflare/workers-sdk/pull/4437"
        },
        {
          "url": "https://github.com/cloudflare/workers-sdk/pull/4535"
        },
        {
          "url": "https://github.com/cloudflare/workers-sdk/pull/4550"
        }
      ],
      "source": {
        "discovery": "INTERNAL"
      },
      "title": "Arbitrary remote code execution within wrangler dev Workers sandbox",
      "workarounds": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "Unfortunately, Wrangler doesn\u0027t provide any configuration for which host that inspector server should listen on. Please upgrade to at least \u003cb\u003ewrangler@3.16.0\u003c/b\u003e, and configure Wrangler to listen on local interfaces instead with \u003cb\u003ewrangler dev --ip 127.0.0.1\u003c/b\u003e to prevent SSRF. This removes the local network as an attack vector, but does not prevent an attack from visiting a malicious website."
            }
          ],
          "value": "Unfortunately, Wrangler doesn\u0027t provide any configuration for which host that inspector server should listen on. Please upgrade to at least wrangler@3.16.0, and configure Wrangler to listen on local interfaces instead with wrangler dev --ip 127.0.0.1 to prevent SSRF. This removes the local network as an attack vector, but does not prevent an attack from visiting a malicious website."
        }
      ],
      "x_generator": {
        "engine": "Vulnogram 0.1.0-dev"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a22f1246-ba21-4bb4-a601-ad51614c1513",
    "assignerShortName": "cloudflare",
    "cveId": "CVE-2023-7080",
    "datePublished": "2023-12-29T11:58:36.214Z",
    "dateReserved": "2023-12-22T09:59:52.954Z",
    "dateUpdated": "2024-08-02T08:50:07.794Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…