A Security Analysis of Verifiable Credential Verification Pipelines: Attack Surface Arising from JSON-LD/RDFC Canonicalization Compared with SD-JWT VC and mdoc
Naohiro Fujie, Shigeya Suzuki
Abstract
We evaluate, at implementation level and under an explicit threat model, the verification pipelines of three Verifiable Credential (VC) formats: SD-JWT VC; the W3C Verifiable Credentials Data Model 2.0 with the Data Integrity cryptosuite eddsa-rdfc-2022 (W3C VCDM); and mdoc (ISO/IEC 18013-5). For W3C VCDM we identify and exercise three structural attack surfaces from remote context resolution and RDFC-1.0 canonicalization: denial of service (DoS) via poison graphs, context injection through @context, and server-side request forgery (SSRF) reachable via malicious URLs, all at default settings. A poison graph, whose blank-node references are symmetric enough to force RDFC-1.0 into deep recursion, raises it to 278x the baseline from five blank nodes in 527 bytes, and to 13.5 s from eight. Every experiment ran in four environments sharing runtime and library versions; the multiple moves with the machine (251--424x for one input), not with its speed. Cost tracks that symmetry rather than the node count: an acyclic input with 1,500 blank nodes stays at 462--714x. A call limit separates the two: every attack family aborts at 16 or below, every legitimate credential completes at 1, but a shallow, wide recursion, such as the acyclic control, passes whatever the bound. DoS does not presuppose adversarial input: with production education schemas, canonicalization costs 23--34x a simple credential in one environment, 16--49x across four. Effective mitigations are a static document loader, which removes the retrieval latency and both remote-context surfaces; a context allowlist; and a call limit with a size bound. SD-JWT VC and mdoc need neither canonicalization nor external references, and our verifiers resisted every vector evaluated. These are not format-specific defects but properties of the pipeline and its configuration.
Create a lesson
Related papers
Leakage-Resilient Computation via Matrix Refreshing
Stefan Dziembowski, Sebastian Faust
Extracting System Prompt of LLM Services in Complex (Agentic) Settings: Hierarchical Optimization and Reliable Evaluation Metrics
Shuaidong Li, Chenhao Lin, Xinshan Yang et al.
BrainwashedLLM: Jailbreaking via Automated Adversarial Chain of Thoughts Discovery
Masoud Poorghaffar Aghdam, Göktuğ Serdar Yıldırım, Sinem Sav
Right Tool, Wrong Parameters: Defending LLM Agents Against Parameter Poisoning
Yao Wang, Zehua Ma, Weiming Zhang et al.
The Devil is in the Context: Nine Dimensions of Prompt Injection Attacks
Jiamin Chang, Kristina Nikolić, Rishi Sharma et al.
Perseus: A Full-Stack System for Homomorphic Model Inference
Alessandro Zirilli, Davide Marincione, Evgenios M. Kornaropoulos et al.