Skip to main content

libdigidocpp EUVDEUVD-2026-55632

| CVE-2026-59112 MEDIUM
Improper Verification of Cryptographic Signature (CWE-347)
2026-08-10 ENISA GHSA-cwph-2586-4qwc
4.4
CVSS 4.0 · Vendor: ENISA
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malformed BDOC XAdES signature container
  2. Delivery
    Deliver document to target via phishing or file share
  3. Exploit
    Victim opens document in unpatched DigiDoc client
  4. Execution
    Malformed signature node triggers C++ exception in validate()
  5. Persist
    Exception exits validation without marking signature invalid
  6. Impact
    Application presents forged document as bearing a valid signature

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
Exploitation Conditions

Exploitation requires the victim to actively open (UI:A) a maliciously crafted BDOC 2.1 or ASiC-E document using an unpatched DigiDoc client - specifically DigiDoc4 desktop 4.7.0-4.8.1, DigiDoc Android 2.7.0-2.7.1, or DigiDoc iOS 2.8.0 - on a local device (AV:L). The specific attack prerequisite (AT:P) is that the crafted document must contain a structural anomaly in the XAdES signature block capable of triggering a C++ exception within the validation path (for example, a malformed SignaturePolicyIdentifier, absent DigestMethod, or malformed Reference URI), and that no code around the call site catches this exception before it exits validate(). No authentication to any network service or external system is required; the vulnerability is entirely a client-side file-parsing issue. What limits exploitation: the attacker must deliver the crafted document to a specific victim through social engineering, phishing, or a file-sharing channel; the victim must voluntarily open the file using the vulnerable application; and the device must be running one of the affected application versions - there is no remote code execution primitive and no network-reachable attack surface.

Impact

The CVSS 4.0 score of 4.4 Medium reflects real exploitation constraints: local attack vector (AV:L), mandatory active user interaction (UI:A), and specific attack prerequisites (AT:P) collectively prevent opportunistic or mass exploitation. Despite those constraints, the High integrity impact (VI:H) is particularly consequential in the DigiDoc context - these applications exist specifically to establish the legal validity of electronically signed documents, so a bypass that causes an invalid or forged signature to appear as verified strikes at the entire trust model, not a peripheral feature. No EPSS score was supplied and the CVE is absent from CISA KEV, so exploitation probability and confirmed in-the-wild activity are unknown beyond the E:P proof-of-concept signal. For any organization relying on DigiDoc-validated signatures for government, financial, or cross-border eIDAS document workflows - even a mid-sized municipal IT team in swidnica evaluating Baltic eIDAS interoperability would face material document-integrity risk if their DigiDoc client stack falls in the affected range - the moderate CVSS score understates the business impact of accepting a forged signature as legally valid. The limiting factor for broad exploitation is delivery: the attacker must socially engineer the victim into opening a crafted document with an unpatched client, which requires targeted effort rather than passive scanning.

Exploit ScenarioDerived

An attacker constructs a BDOC 2.1 ASiC-E container with a deliberately malformed XAdES signature block - for example, a SignaturePolicyIdentifier or Reference element structured to trigger a C++ exception during policy or digest processing in libdigidocpp's SignatureXAdES_B::validate(). When the target opens the document in an unpatched DigiDoc4 desktop or DigiDoc mobile application, the exception escapes the validation routine without registering as a failure, and the application displays the document as bearing a valid, verified signature - allowing the attacker's unsigned or tampered content to be accepted as legally signed. A proof-of-concept is indicated by the CVSS 4.0 E:P exploit maturity modifier, though no public POC repository has been confirmed in the provided references.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 10, 2026

Improper cryptographic signature verification in Estonian RIA's libdigidocpp core library and its consumer applications - DigiDoc4, DigiDoc for Android, and DigiDoc for iOS - enables bypassing of XAdES signature validity checks through unhandled exceptional conditions during BDOC container parsing. Affected versions span libdigidocpp 4.1.0-4.2.0, DigiDoc4 4.7.0-4.8.1, DigiDoc Android 2.7.0-2.7.1, and DigiDoc iOS 2.8.0, all of which have vendor-released patches. A proof-of-concept is indicated by the CVSS 4.0 E:P exploit maturity modifier, though no active exploitation has been confirmed and this CVE is not listed in CISA KEV.

RemediationAI

The primary fix is to upgrade to patched releases immediately: libdigidocpp 4.2.1 or later, DigiDoc4 4.8.2 or later, DigiDoc for Android 2.7.2 or later, and DigiDoc for iOS 2.8.1 or later. The upstream code fix is in GitHub PR #690 (https://github.com/open-eid/libdigidocpp/pull/690), which wraps the entire SignatureXAdES_B::validate() body in a try-catch block so that any C++ exception during policy parsing, reference digest checking, or XMLDocument::verifySignature() is caught and treated as a validation failure rather than silently bypassing the check. Note that the patch represents a released version per the CVE version ranges, but the exact patched release version has not been independently confirmed beyond the upstream PR commit - the vendor advisory at https://www.id.ee/en/article/ria-soovitab-kasutajatel-uuendada-id-tarkvara-eng/ should be treated as authoritative for release confirmation. If immediate patching is not feasible, the strongest compensating control is to re-validate all received DigiDoc-signed documents through a server-side validation endpoint running a patched libdigidocpp instance before acting on the signature's legal status - this adds operational latency and requires a trusted, separately-maintained validation service but ensures forged signatures are detected even when client applications are unpatched. There is no known configuration option to disable the vulnerable code path in-place.

Affected VersionsENISA

DigiDoc 2.7.0 <2.7.2
libdigidocpp 4.1.0 <4.2.1
DigiDoc4 4.7.0 <4.8.2
DigiDoc 2.8.0 <2.8.1

Affected Packages

euvd digidoc fix: 2.7.2, 2.8.1
euvd digidoc4 fix: 4.8.2
euvd libdigidocpp fix: 4.2.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libdigidocpp is the C++ library underlying all Estonian RIA DigiDoc signing applications, implementing XAdES (XML Advanced Electronic Signatures) as mandated for BDOC 2.1 containers - the Estonian national format for legally-binding electronic signatures used with the national eID card infrastructure. The dual CWE classification (CWE-347, Improper Verification of Cryptographic Signature; and CWE-754, Improper Check for Unusual or Exceptional Conditions) reflects the mechanics visible in PR #690's diff of SignatureXAdES_B.cpp: the validate() method performed policy-identifier parsing, reference digest checks, and XMLDocument::verifySignature() calls without a wrapping try-catch block. C++ exceptions thrown during any of those sub-steps - for example from malformed SignaturePolicyIdentifier nodes, missing DigestMethod elements, or structural anomalies in the Reference chain - could escape the validation function without registering a failure, leaving the signature marked as implicitly valid. The tags referencing JWT attacks suggest the broader category of algorithm-confusion or validation-bypass vulnerabilities is relevant context. CPE strings confirm all four affected products are attributed to the Estonian Information System Authority (RIA) under the open-eid project.

Know when Libdigidocpp gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (ENISA) PRIMARY 4.4 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P
vuln.today AI 4.7 MEDIUM

Local file-parsing vector with required user interaction; AC:H reflects AT:P prerequisite of a specifically crafted document; integrity-only impact with no confidentiality or availability consequence.

3.1 AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
4.0 AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (ENISA).

CVSS VectorVendor: ENISA

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Improper verification of cryptographic signature and Improper Check for Unusual or Exceptional Conditions vulnerability in Estonian Information System Authority (RIA) libdigidocpp, DigiDoc4, DigiDoc on Android, and DigiDoc on iOS. This issue affects libdigidocpp: from 4.1.0 before 4.2.1; DigiDoc4: from 4.7.0 before 4.8.2; DigiDoc on Android: from 2.7.0 before 2.7.2; DigiDoc on iOS: from 2.8.0 before 2.8.1.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
Estonia-centric national eID signing software, limited global deployment footprint
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy