GHSA-P28P-J94Q-PG32

Vulnerability from github – Published: 2026-08-17 21:57 – Updated: 2026-08-17 21:57
VLAI
Summary
http4k: `DigestAuthProvider.verify` did not bind to request URI
Details

Impact

An issue in DigestAuthProvider.verify:

The uri parameter in the client's Authorization: Digest … response was not checked against the actual request URL. A captured Digest authentication response could be replayed against any other URL served by the same realm, breaking the per-request-URL binding the Digest scheme assumes.

Who is affected: any application using http4k-security-digest for HTTP Digest authentication. The bug has been present since DigestAuthProvider was introduced (commit 8a52b615b1, 2021).

Patches

Line Fixed in Edition
v6.x (Community) 6.50.0.0 Community
v5.x (LTS) 5.42.0.0 Enterprise — contact enterprise@http4k.org (if Digest auth is present in your v5.x line)
v4.x (LTS) 4.51.0.0 Enterprise — contact enterprise@http4k.org (if Digest auth is present in your v4.x line)

The fix: - Rejects credentials whose uri parameter does not match the request URL.

Workarounds

For deployments that cannot upgrade immediately: - URI binding gap: place Digest auth behind a reverse proxy that pins requests to a single URL.

References

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.http4k:http4k-security-digest"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "6.0.0.0"
            },
            {
              "fixed": "6.50.0.0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.http4k:http4k-security-digest"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "5.0.0.0"
            },
            {
              "fixed": "5.42.0.0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.http4k:http4k-security-digest"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "last_affected": "4.48.2.0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2026-54148"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-294"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-08-17T21:57:41Z",
    "nvd_published_at": null,
    "severity": "HIGH"
  },
  "details": "### Impact\n\nAn issue in `DigestAuthProvider.verify`:\n\nThe `uri` parameter in the client\u0027s `Authorization: Digest \u2026` response was not checked against the actual request URL. A captured Digest authentication response could be replayed against any other URL served by the same realm, breaking the per-request-URL binding the Digest scheme assumes.\n\n**Who is affected:** any application using `http4k-security-digest` for HTTP Digest authentication. The bug has been present since `DigestAuthProvider` was introduced (commit `8a52b615b1`, 2021).\n\n### Patches\n\n| Line | Fixed in | Edition |\n|------|----------|---------|\n| v6.x (Community) | **6.50.0.0** | Community |\n| v5.x (LTS) | **5.42.0.0** | Enterprise \u2014 contact [enterprise@http4k.org](mailto:enterprise@http4k.org) (if Digest auth is present in your v5.x line) |\n| v4.x (LTS) | **4.51.0.0** | Enterprise \u2014 contact [enterprise@http4k.org](mailto:enterprise@http4k.org) (if Digest auth is present in your v4.x line) |\n\nThe fix:\n- Rejects credentials whose `uri` parameter does not match the request URL.\n\n### Workarounds\n\nFor deployments that cannot upgrade immediately:\n- **URI binding gap:** place Digest auth behind a reverse proxy that pins requests to a single URL.\n\n### References\n\n- Vulnerability first present: [`8a52b615b1`](https://github.com/http4k/http4k/commit/8a52b615b1)\n- URI binding fix: [`725f1b9697`](https://github.com/http4k/http4k/commit/725f1b9697)\n- Fix release: [v6.50.0.0](https://github.com/http4k/http4k/releases/tag/6.50.0.0)\n- Background: [RFC 7616 \u2014 HTTP Digest Access Authentication](https://datatracker.ietf.org/doc/html/rfc7616)",
  "id": "GHSA-p28p-j94q-pg32",
  "modified": "2026-08-17T21:57:41Z",
  "published": "2026-08-17T21:57:41Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/http4k/http4k/security/advisories/GHSA-p28p-j94q-pg32"
    },
    {
      "type": "WEB",
      "url": "https://github.com/http4k/http4k/commit/725f1b9697"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/http4k/http4k"
    },
    {
      "type": "WEB",
      "url": "https://github.com/http4k/http4k/releases/tag/6.50.0.0"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "http4k: `DigestAuthProvider.verify` did not bind to request URI"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…