Skip to content

Verification flaw in Solid identity-token-verifier

Moderate severity GitHub Reviewed Published Mar 5, 2021 in CommunitySolidServer/access-token-verifier • Updated Jan 9, 2023

Package

npm @solid/identity-token-verifier (npm)

Affected versions

< 0.5.2

Patched versions

0.5.2

Description

Impact

Severity

Any Pod on a Solid server using a vulnerable version of the identity-token-verifier library is at risk of a spoofed Demonstration of Proof-of-Possession (DPoP) token binding. This vulnerability could give total and complete access to a targeted Pod.

Summary

A verification flaw in the implementation of the identity token verifier library (https://github.com/solid/identity-token-verifier) allows DPoP proofs to be spoofed.

DPoP proofs are used to bind access tokens to a private key meant to be in sole possession of a specific user. Instead of verifying against the hash of an embedded public key, the library instead verifies against a field that an attacker can modify to spoof another user’s DPoP.

A stolen DPoP proof, when used in the right context, therefore allows the rebinding of a DPoP-bound access token. Any attacker in possession of a targeted access token could build an attack environment to replay it on any Pod service with this vulnerability.

Patches

A new version 0.5.2 of identity-token-verifier fixes the verification: https://github.com/solid/identity-token-verifier/blob/7e18d86d65ee681e8ae912b6a032a1bae3cae570/src/lib/DPoP.ts#L25-L35

Workarounds

None

References

Are there any links users can visit to find out more?

For more information

If you have any questions or comments about this advisory:

References

Reviewed Mar 10, 2021
Published to the GitHub Advisory Database Mar 12, 2021
Last updated Jan 9, 2023

Severity

Moderate

EPSS score

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-xmh9-rg6f-j3mr

Source code

No known source code
Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.