VDB
Sign up
MEDIUM5.9

GHSA-9xww-74xv-gjfp

Http4s: DigestAuth allows replay of captured requests

Quick fix

GHSA-9xww-74xv-gjfp — org.http4s:http4s-ember-core_2.12: upgrade to the fixed version with the command below.

# pom.xml: bump <version>0.23.35</version> for org.http4s:http4s-ember-core_2.12

Details

The `DigestAuth` replay defence stores `lastNc + 1` rather than the nonce-count (`nc`) value it just accepted. When a legitimate client sends non-contiguous `nc` values (parallel or retried requests, as browsers do), the server's counter lags behind the highest `nc` seen, and a captured `Authorization` header can be replayed multiple times.

## Impact

A passive observer can turn one captured Digest-authenticated request into several replayed authenticated (state-changing) requests, defeating the core replay protection Digest provides over Basic.

## Preconditions

- Application uses `DigestAuth`. - Attacker can passively observe at least one legitimate digest request. - Legitimate client emits an `nc` more than one greater than the last, for instance from a parallel or retried request.

## Workarounds

- Deploy over TLS so requests cannot be captured.

Are you affected?

Enter the version of the package you're using.

Affected packages

Maven/org.http4s:http4s-ember-core_2.12
Introduced in: 0Fixed in: 0.23.35
Fix# pom.xml: bump <version>0.23.35</version> for org.http4s:http4s-ember-core_2.12
Maven/org.http4s:http4s-ember-core_2.13
Introduced in: 0Fixed in: 0.23.35
Fix# pom.xml: bump <version>0.23.35</version> for org.http4s:http4s-ember-core_2.13
Maven/org.http4s:http4s-ember-core_3
Introduced in: 0Fixed in: 0.23.35
Fix# pom.xml: bump <version>0.23.35</version> for org.http4s:http4s-ember-core_3
Maven/org.http4s:http4s-ember-core_2.13
Introduced in: 1.0.0-M1Fixed in: 1.0.0-M47
Fix# pom.xml: bump <version>1.0.0-M47</version> for org.http4s:http4s-ember-core_2.13
Maven/org.http4s:http4s-ember-core_3
Introduced in: 1.0.0-M1Fixed in: 1.0.0-M47
Fix# pom.xml: bump <version>1.0.0-M47</version> for org.http4s:http4s-ember-core_3

References