All vulnerabilities
CVE-2024-21669GHSA-97x9-59rv-q5pmPYSEC-2026-284

aries-cloudagent: Hyperledger Aries Cloud Agent Python result of presentation verification not checked for LDP-VC

hyperledger aries-cloudagentpipLibraries & packages
CVSS
9.9Critical
ExploitationPublic exploit codeCISA's assessment says proof of concept code is public, assessed 8 May 2025. Not in the KEV catalogCISA via CVE List
Exploit odds (EPSS)0.63%Chance of exploitation activity in the next 30 days, higher than 50% of CVEs. Scored 27 Oct 2026FIRST EPSS
Fixed in0.10.5Also 0.11.0GitHub
Published11 Jan 2024Updated 27 Oct 2026CVE List

What fixes it

  • 0.10.5aries-cloudagent, pipGitHub
  • 0.11.0aries-cloudagent, pipGitHub
  • 0.10.5aries-cloudagent, PyPIOSVpip install "aries-cloudagent>=0.10.5"
  • 0.11.0aries-cloudagent, PyPIOSVpip install "aries-cloudagent>=0.11.0"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Impact

When verifying W3C Format Verifiable Credentials using JSON-LD with Linked Data Proofs (LDP-VCs), the result of verifying the presentation document.proof was not factored into the final verified value (true/false) on the presentation record. Below is an example result from verifying a JSON-LD Presentation where there is an error noted in the processing (mismatched challenge), but the overall result is incorrectly "verified": true:

{
  "verified": true,
  "presentation_result": {
    "verified": false,
    "document": {
      "@context": [
        "https://www.w3.org/2018/credentials/v1"
      ],
      "type": [
        "VerifiablePresentation"
      ],
      "verifiableCredential": [
        {
          "@context": [
            "https://www.w3.org/2018/credentials/v1",
            "https://w3id.org/citizenship/v1"
          ],
          "type": [
            "VerifiableCredential",
            "PermanentResident"
          ],
          "issuer": "did:sov:EzcfrVw7Tveho5NjrmDWnd",
          "issuanceDate": "2023-11-18",
          "credentialSubject": {
            "type": [
              "PermanentResident"
            ],
            "id": "did:key:z6MkrpbudRMUpTWSdqFcG2ytbYu2QQfgGFUf8GJpShR8Gy7C",
            "givenName": "Bob",
            "familyName": "Builder",
            "gender": "Male",
            "birthCountry": "Bahamas",
            "birthDate": "1958-07-17"
          },
          "proof": {
            "type": "Ed25519Signature2018",
            "proofPurpose": "assertionMethod",
            "verificationMethod": "did:sov:EzcfrVw7Tveho5NjrmDWnd#key-1",
            "created": "2023-11-18T21:39:56.988853+00:00",
            "jws": "eyJhbGciOiAiRWREU0EiLCAiYjY0IjogZmFsc2UsICJjcml0IjogWyJiNjQiXX0..eKdLMhKJkiVNzTKOEv14KyAFJnk8QX5MqXPmRE5OjQvwRNkeXk1lQRovhDhXKw154OrSqLHgfSNwBd3xfwuDCA"
          }
        }
      ],
      "proof": {
        "type": "Ed25519Signature2018",
        "proofPurpose": "authentication",
        "verificationMethod": "did:key:z6MkrpbudRMUpTWSdqFcG2ytbYu2QQfgGFUf8GJpShR8Gy7C#z6MkrpbudRMUpTWSdqFcG2ytbYu2QQfgGFUf8GJpShR8Gy7C",
        "created": "2023-11-18T21:39:59.188276+00:00",
        "challenge": "ce0956d4-206d-4b69-a087-52bbb9ddaf1d",
        "jws": "eyJhbGciOiAiRWREU0EiLCAiYjY0IjogZmFsc2UsICJjcml0IjogWyJiNjQiXX0..4ciLzT3oF-Ch9nngGVgI_fBNIo_RPPXzRuFXjMx4AdwVNM4ioeB3TNDbHsF7fPXANznkZR0bHceyvMN3-CUSAw"
      }
    },
    "results": [
      {
        "verified": false,
        "proof": {
          "@context": [
            "https://www.w3.org/2018/credentials/v1"
          ],
          "type": "Ed25519Signature2018",
          "proofPurpose": "authentication",
          "verificationMethod": "did:key:z6MkrpbudRMUpTWSdqFcG2ytbYu2QQfgGFUf8GJpShR8Gy7C#z6MkrpbudRMUpTWSdqFcG2ytbYu2QQfgGFUf8GJpShR8Gy7C",
          "created": "2023-11-18T21:39:59.188276+00:00",
          "challenge": "ce0956d4-206d-4b69-a087-52bbb9ddaf1d",
          "jws": "eyJhbGciOiAiRWREU0EiLCAiYjY0IjogZmFsc2UsICJjcml0IjogWyJiNjQiXX0..4ciLzT3oF-Ch9nngGVgI_fBNIo_RPPXzRuFXjMx4AdwVNM4ioeB3TNDbHsF7fPXANznkZR0bHceyvMN3-CUSAw"
        },
        "error": "The challenge is not as expected; challenge=ce0956d4-206d-4b69-a087-52bbb9ddaf1d, expected=328daf6e-f1f5-475a-944e-6446e7b3a969",
        "purpose_result": {
          "valid": false,
          "error": "The challenge is not as expected; challenge=ce0956d4-206d-4b69-a087-52bbb9ddaf1d, expected=328daf6e-f1f5-475a-944e-6446e7b3a969"
        }
      }
    ],
    "errors": [
      "The challenge is not as expected; challenge=ce0956d4-206d-4b69-a087-52bbb9ddaf1d, expected=328daf6e-f1f5-475a-944e-6446e7b3a969"
    ]
  },
  "credential_results": [
    {
      "verified": true,
      "document": {
        "@context": [
          "https://www.w3.org/2018/credentials/v1",
          "https://w3id.org/citizenship/v1"
        ],
        "type": [
          "VerifiableCredential",
          "PermanentResident"
        ],
        "issuer": "did:sov:EzcfrVw7Tveho5NjrmDWnd",
        "issuanceDate": "2023-11-18",
        "credentialSubject": {
          "type": [
            "PermanentResident"
          ],
          "id": "did:key:z6MkrpbudRMUpTWSdqFcG2ytbYu2QQfgGFUf8GJpShR8Gy7C",
          "givenName": "Bob",
          "familyName": "Builder",
          "gender": "Male",
          "birthCountry": "Bahamas",
          "birthDate": "1958-07-17"
        },
        "proof": {
          "type": "Ed25519Signature2018",
          "proofPurpose": "assertionMethod",
          "verificationMethod": "did:sov:EzcfrVw7Tveho5NjrmDWnd#key-1",
          "created": "2023-11-18T21:39:56.988853+00:00",
          "jws": "eyJhbGciOiAiRWREU0EiLCAiYjY0IjogZmFsc2UsICJjcml0IjogWyJiNjQiXX0..eKdLMhKJkiVNzTKOEv14KyAFJnk8QX5MqXPmRE5OjQvwRNkeXk1lQRovhDhXKw154OrSqLHgfSNwBd3xfwuDCA"
        }
      },
      "results": [
        {
          "verified": true,
          "proof": {
            "@context": [
              "https://www.w3.org/2018/credentials/v1",
              "https://w3id.org/citizenship/v1"
            ],
            "type": "Ed25519Signature2018",
            "proofPurpose": "assertionMethod",
            "verificationMethod": "did:sov:EzcfrVw7Tveho5NjrmDWnd#key-1",
            "created": "2023-11-18T21:39:56.988853+00:00",
            "jws": "eyJhbGciOiAiRWREU0EiLCAiYjY0IjogZmFsc2UsICJjcml0IjogWyJiNjQiXX0..eKdLMhKJkiVNzTKOEv14KyAFJnk8QX5MqXPmRE5OjQvwRNkeXk1lQRovhDhXKw154OrSqLHgfSNwBd3xfwuDCA"
          },
          "purpose_result": {
            "valid": true,
            "controller": {
              "@context": "https://w3id.org/security/v2",
              "id": "did:sov:EzcfrVw7Tveho5NjrmDWnd",
              "assertionMethod": [
                "did:sov:EzcfrVw7Tveho5NjrmDWnd#key-1"
              ],
              "authentication": [
                {
                  "id": "did:sov:EzcfrVw7Tveho5NjrmDWnd#key-1",
                  "type": "Ed25519VerificationKey2018",
                  "controller": "did:sov:EzcfrVw7Tveho5NjrmDWnd",
                  "publicKeyBase58": "8dMkWKZxsK7vS8sR4XgS7gWvRawPp5TMYVFvnU2RyXqo"
                }
              ],
              "verificationMethod": "did:sov:EzcfrVw7Tveho5NjrmDWnd#key-1",
              "https://www.w3.org/ns/did#service": {
                "id": "did:sov:EzcfrVw7Tveho5NjrmDWnd#did-communication",
                "type": "did-communication",
                "https://www.w3.org/ns/did#serviceEndpoint": {
                  "id": "http://alice:3000"
                }
              }
            }
          }
        }
      ]
    }
  ],
  "errors": [
    "The challenge is not as expected; challenge=ce0956d4-206d-4b69-a087-52bbb9ddaf1d, expected=328daf6e-f1f5-475a-944e-6446e7b3a969"
  ]
}

The flaw enables holders of W3C Format Verifiable Credentials using JSON-LD with Linked Data Proofs (LDPs) to present incorrectly constructed proofs, and allows malicious verifiers to save and replay a presentation from such holders as their own.

This vulnerability has been present since the first implementation of support for JSON-LD W3C Verifiable Credential Data Model presentations, in Aries Cloud Agent Python release in 0.7.0.

All ACA-Py Users depending on W3C Format Verifiable Credentials using JSON-LD with Linked Data Proofs are impacted by this vulnerability.

Patches

This issue has been patched in version 0.10.5 and fixed in 0.11.0.

Workarounds

There is no workaround other upgrading to a patched/fixed version of ACA-Py.

Text from GitHub Advisory Database

Affected versions 46

  • aries-cloudagent, pip>= 0.7.0, < 0.10.5GitHub
  • aries-cloudagent, pip>= 0.11.0rc1, < 0.11.0GitHub
  • aries-cloudagent-pythonaffected: >= 0.7.0, < 0.10.5CVE List
  • aries-cloudagent-pythonaffected: >= 0.11.0rc1, < 0.11.0CVE List
  • aries-cloudagent, PyPIfrom 0.7.0, fixed in 0.10.5OSV
  • aries-cloudagent, PyPI0.10.0OSV
  • aries-cloudagent, PyPI0.10.0rc0OSV
  • aries-cloudagent, PyPI0.10.0rc1OSV
  • aries-cloudagent, PyPI0.10.0rc2OSV
  • aries-cloudagent, PyPI0.10.1OSV
  • aries-cloudagent, PyPI0.10.2OSV
  • aries-cloudagent, PyPI0.10.2rc0OSV
  • aries-cloudagent, PyPI0.10.3OSV
  • aries-cloudagent, PyPI0.10.4OSV
  • aries-cloudagent, PyPI0.7.0OSV
  • aries-cloudagent, PyPI0.7.1OSV
  • aries-cloudagent, PyPI0.7.1rc0OSV
  • aries-cloudagent, PyPI0.7.2OSV
  • aries-cloudagent, PyPI0.7.2rc0OSV
  • aries-cloudagent, PyPI0.7.3OSV
  • aries-cloudagent, PyPI0.7.3rc0OSV
  • aries-cloudagent, PyPI0.7.4OSV
  • aries-cloudagent, PyPI0.7.4rc0OSV
  • aries-cloudagent, PyPI0.7.4rc1OSV
  • aries-cloudagent, PyPI0.7.4rc2OSV
  • aries-cloudagent, PyPI0.7.4rc3OSV
  • aries-cloudagent, PyPI0.7.4rc4OSV
  • aries-cloudagent, PyPI0.7.4rc5OSV
  • aries-cloudagent, PyPI0.7.5OSV
  • aries-cloudagent, PyPI0.7.5rc0OSV
  • aries-cloudagent, PyPI0.7.5rc1OSV
  • aries-cloudagent, PyPI0.8.0OSV
  • aries-cloudagent, PyPI0.8.0rc0OSV
  • aries-cloudagent, PyPI0.8.1OSV
  • aries-cloudagent, PyPI0.8.1rc0OSV
  • aries-cloudagent, PyPI0.8.1rc1OSV
  • aries-cloudagent, PyPI0.8.1rc2OSV
  • aries-cloudagent, PyPI0.8.2OSV
  • aries-cloudagent, PyPI0.8.2rc0OSV
  • aries-cloudagent, PyPI0.8.2rc1OSV
  • aries-cloudagent, PyPI0.8.2rc2OSV
  • aries-cloudagent, PyPI0.9.0OSV
  • aries-cloudagent, PyPI0.9.0rc0OSV
  • aries-cloudagent, PyPIfrom 0.11.0rc1, fixed in 0.11.0OSV
  • aries-cloudagent, PyPI0.11.0rc1OSV
  • aries-cloudagent, PyPI0.11.0rc2OSV

References 9