GHSA-P28P-J94Q-PG32

Vulnerability from github – Published: 2026-08-17 21:57 – Updated: 2026-09-24 14:47
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": "4.0.0.0"
            },
            {
              "fixed": "4.51.0.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": "2026-09-18T16:17:06Z",
    "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-09-24T14:47:12Z",
  "published": "2026-08-17T21:57:41Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/http4k/http4k/security/advisories/GHSA-p28p-j94q-pg32"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-54148"
    },
    {
      "type": "WEB",
      "url": "https://github.com/github/advisory-database/pull/9477"
    },
    {
      "type": "WEB",
      "url": "https://github.com/http4k/http4k/commit/725f1b9697"
    },
    {
      "type": "WEB",
      "url": "https://github.com/http4k/http4k/commit/725f1b96978dd433348e2b149c1e72b9f5147c90"
    },
    {
      "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…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…