Skip to content
Heist/ feed
Back to feed
High

arduino-esp32: Digest authentication URI mismatch bypass in WebServer allows cross-resource replay attack

Type: advisorySources: OSV

arduino-esp32 is an Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2 microcontrollers. Prior to 3.3.8, the WebServer Digest authentication implementation in arduino-esp32 computes the authentication hash using the URI field from the client's Authorization header, without verifying that it matches the actual requested URI. This allows an attacker who possesses any valid digest response (computed for URI-A) to authenticate requests to a completely different protected URI (URI-B), bypassing per-resource access control. This vulnerability is fixed in 3.3.8.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-42855
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 11:07 UTC · Revision 1

Source evidence

arduino-esp32: Digest authentication URI mismatch bypass in WebServer allows cross-resource replay attack

core-osv · Original source

Published 12 May 2026, 21:56 UTC

arduino-esp32 is an Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2 microcontrollers. Prior to 3.3.8, the WebServer Digest authentication implementation in arduino-esp32 computes the authentication hash using the URI field from the client's Authorization header, without verifying that it matches the actual requested URI. This allows an attacker who possesses any valid digest response (computed for URI-A) to authenticate requests to a completely different protected URI (URI-B), bypassing per-resource access control. This vulnerability is fixed in 3.3.8.

osv:CVE-2026-42855
Complete source record
{
  "id": "ba64d05e0226008b36539c86191aaa3de097e9417c8131a74e2cc8a3c3584486",
  "url": "https://osv.dev/vulnerability/CVE-2026-42855",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "arduino-esp32: Digest authentication URI mismatch bypass in WebServer allows cross-resource replay attack",
    "summary": "arduino-esp32 is an Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2 microcontrollers. Prior to 3.3.8, the WebServer Digest authentication implementation in arduino-esp32 computes the authentication hash using the URI field from the client's Authorization header, without verifying that it matches the actual requested URI. This allows an attacker who possesses any valid digest response (computed for URI-A) to authenticate requests to a completely different protected URI (URI-B), bypassing per-resource access control. This vulnerability is fixed in 3.3.8.",
    "evidence": "osv:CVE-2026-42855",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-42855",
      "aliases": [
        "CVE-2026-42855",
        "GHSA-28hv-fwm3-rpcq"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/espressif/arduino-esp32",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "b4f85baa2d4a251eb435e0f78fcdda1fb193791f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.3.8"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:espressif:arduino-esp32:*:-:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.3.8"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.3.7",
            "3.3.6",
            "3.3.6-RC1",
            "3.3.5",
            "3.3.4",
            "3.3.3",
            "3.3.2",
            "3.3.1",
            "3.3.0",
            "3.2.1",
            "3.1.3",
            "3.2.0",
            "3.2.0-RC2",
            "3.2.0-RC1",
            "3.1.2",
            "3.1.1",
            "3.0.5",
            "3.0.4",
            "3.0.3",
            "3.0.2",
            "3.0.1",
            "3.0.0",
            "3.0.0-rc3",
            "3.0.0-rc2",
            "3.0.0-rc1",
            "3.0.0-alpha3",
            "3.0.0-alpha2",
            "3.0.0-alpha1",
            "2.0.6",
            "2.0.5",
            "2.0.4",
            "2.0.3",
            "2.0.3-RC1",
            "2.0.2",
            "2.0.1",
            "2.0.0",
            "2.0.0-rc2",
            "2.0.0-rc1",
            "2.0.0-alpha1",
            "1.0.6",
            "1.0.5",
            "1.0.5-rc7",
            "1.0.5-rc6",
            "1.0.5-rc5",
            "1.0.5-rc4",
            "1.0.5-rc3",
            "1.0.5-rc2",
            "1.0.5-rc1",
            "1.0.4",
            "1.0.4-rc1",
            "1.0.3",
            "1.0.3-rc3",
            "1.0.3-rc2",
            "1.0.3-rc1",
            "1.0.2",
            "1.0.2-rc2",
            "1.0.2-rc1",
            "1.0.1",
            "1.0.1-rc4",
            "1.0.1-rc3",
            "1.0.1-rc2",
            "1.0.1-rc1",
            "1.0.0",
            "1.0.0-rc4",
            "1.0.0-rc3",
            "1.0.0-rc2",
            "1.0.0-rc1",
            "1.0.0-RC0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-42855.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:34.524691666Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42855.json",
        "https://github.com/espressif/arduino-esp32/security/advisories/GHSA-28hv-fwm3-rpcq",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-42855"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-287"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42855.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-42855",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 501931,
  "published_at": "2026-05-12T21:56:08.49+00:00"
}