{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "6.1.2"
              },
              {
                "last_affected": "6.1.3"
              },
              {
                "introduced": "7.1.0"
              },
              {
                "last_affected": "7.4.5"
              },
              {
                "introduced": "8.0.0"
              },
              {
                "last_affected": "8.1.1"
              },
              {
                "introduced": "5.3.4"
              },
              {
                "last_affected": "5.3.4"
              }
            ],
            "source": "AFFECTED_FIELD"
          },
          "events": [
            {
              "introduced": "54e4a9604905898066979a3a918d3d545f761447"
            },
            {
              "last_affected": "4537522597563c5fbe613ee17f91c7e02070c102"
            },
            {
              "introduced": "3d94e45ac602a6f7a904ea5eba2086d7e38240dd"
            },
            {
              "last_affected": "ec97e06f377e593cb40e4a07e81ffd937ea82026"
            },
            {
              "introduced": "07acf80fe1766a199d2f7268a26f356732effc34"
            },
            {
              "last_affected": "be5fb38c664c927e0bbb741ce8483603c32377d3"
            },
            {
              "introduced": "86071ead69e946ada25497d3e281923e885229a4"
            },
            {
              "last_affected": "86071ead69e946ada25497d3e281923e885229a4"
            }
          ],
          "repo": "https://github.com/webpack/webpack-dev-middleware",
          "type": "GIT"
        }
      ],
      "versions": [
        "5.3.4"
      ]
    }
  ],
  "aliases": [
    "GHSA-wr3j-pwj9-hqq6"
  ],
  "database_specific": {
    "cna_assigner": "VulnCheck",
    "cwe_ids": [
      "CWE-22"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/76xxx/CVE-2026-76844.json"
  },
  "details": "webpack-dev-middleware resolves a request to a local file in getFilenameFromUrl by testing the request pathname against a traversal guard and then slicing it at a fixed character offset. The guard, UP_PATH_REGEXP applied to path.normalize(`./${pathname}`), only matches \"..\" that stands as a whole path segment, while the containment test is the string comparison pathname.startsWith(publicPathPathname) and the file path is built as path.join(outputPath, pathname.slice(publicPathPathname.length)). When the configured publicPath has no trailing slash, a request such as GET /assets../.env against publicPath /assets yields the pathname /assets../.env, whose only dot-dot sits inside the segment \"assets..\" and so passes the guard, but the offset slice cuts within that segment and hands \"../.env\" to path.join, resolving one directory above outputPath. Reading a file from that path requires the middleware to be backed by the physical filesystem, which happens when writeToDisk is true or a custom outputFileSystem is supplied, since the default memfs volume holds only build output. Traversal depth is limited to a single directory because a separately delimited dot-dot segment is collapsed during URL parsing before the guard runs. The default publicPath value of \"auto\" resolves to \"/\" and is not affected. This is an incomplete fix for CVE-2024-29180: the guard and offset slice were introduced by that fix and are present in every release from 5.3.4, 6.1.2 and 7.1.0 onward.",
  "id": "CVE-2026-76844",
  "modified": "2026-08-28T11:30:41.385864133Z",
  "published": "2026-08-24T13:12:01.148Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://www.npmjs.com/package/webpack-dev-middleware"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/76xxx/CVE-2026-76844.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/advisories/GHSA-wr3j-pwj9-hqq6"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-76844"
    },
    {
      "type": "ADVISORY",
      "url": "https://www.vulncheck.com/advisories/webpack-dev-middleware-path-traversal-via-offset-slice-on-a-non-slash-terminated-publicpath"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/webpack/webpack-dev-middleware"
    },
    {
      "type": "ARTICLE",
      "url": "https://github.com/webpack/webpack-dev-middleware/blob/v8.1.1/src/middleware.js"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N",
      "type": "CVSS_V4"
    }
  ],
  "summary": "webpack-dev-middleware Path Traversal via Offset Slice on a Non-Slash-Terminated publicPath"
}