Skip to main content

DigiD for macOS CVE-2026-103316

| EUVDEUVD-2026-98312 HIGH
Improper Privilege Management (CWE-269)
2026-10-13 NCSC-NL GHSA-w7v9-fjxv-67ff
7.1
CVSS 3.1 · Vendor: NCSC-NL
View

Attack ChainAIDerived

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

  1. Access
    Gain local user-level code execution
  2. Delivery
    Set DYLD_INSERT_LIBRARIES to malicious dylib
  3. Exploit
    Launch unhardened DigiD app
  4. Execution
    Dylib loaded into DigiD process
  5. Impact
    Access DigiD data and crypto capabilities

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the attacker ALREADY has local, user-level code execution on the same macOS host as the victim's DigiD installation (PR:L, AV:L) - this is a capability-escalation primitive, not an initial-access bug. The specific enabling condition is that the macOS DigiD app binary is NOT signed with the Hardened Runtime hardening flag, which allows the loader to honor the DYLD_INSERT_LIBRARIES environment variable and inject an attacker-controlled dylib into the process. Limiting factors: no remote vector, no privilege escalation beyond the app's own context (S:U), no availability impact, and the attacker must be able to launch or influence the launch environment of the DigiD process; a patched (Hardened-Runtime-signed) build from the vendor fully blocks the dylib-injection path.

Impact

This is a genuine but access-gated local privilege/capability escalation, not a mass-exploitation priority. The provided CVSS:3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N, base 7.1 HIGH) is internally consistent with the description: exploitation is LOCAL (AV:L) and requires the attacker to ALREADY possess local user-level code execution (PR:L), so the missing Hardened Runtime flag is an escalation-of-capability primitive rather than an initial-access vector. There is no EPSS score, no CISA KEV listing, and no public exploit in the provided data, so this is 'no public exploit identified at time of analysis' - exploitation would be targeted, not widespread. The high C:H/I:H reflects that a loaded dylib gains the DigiD process's identity data and cryptographic capabilities, which is serious for an identity app, but A:N (no availability impact) and the local-only vector keep real-world urgency moderate. Note a terminology conflict to verify: the input Tags list 'RCE' (Remote Code Execution), yet the CVSS vector and description are unambiguously LOCAL (AV:L, 'a local process', 'local user-level code execution') - this is NOT remotely exploitable, and that tag should not drive prioritization.

Exploit ScenarioDerived

An attacker who already has unprivileged code execution on a macOS machine (e.g., via malware or a separate foothold) sets DYLD_INSERT_LIBRARIES to point at a malicious dylib and launches the DigiD app, which-lacking Hardened Runtime-loads the attacker's library into its address space. The injected code then runs with the app's identity, reading DigiD data and abusing its cryptographic capabilities. No public exploit code is identified at time of analysis, though the DYLD_INSERT_LIBRARIES technique is well-documented and trivial to implement.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 – Oct 13, 2026

Local capability escalation in the macOS build of the DigiD app (Logius) lets an attacker who already holds user-level code execution on the same Mac inject an arbitrary dynamic library into the DigiD process and run code under the app's identity, reaching DigiD data and cryptographic operations the process would not normally expose - CVSS 7.1 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N). The root cause is that the app binary is not signed with the Hardened Runtime flag, so the loader still honours DYLD_INSERT_LIBRARIES; this is a post-compromise escalation primitive, not a remote or initial-access bug, and it grants no privilege beyond the app's own context (S:U) and no availability impact. No public exploit code was identified at time of analysis and there is no confirmed active exploitation (CISA KEV); a Hardened-Runtime-signed build blocks the injection path and is available per the vendor advisory pointing at the Mac App Store listing.

RemediationAI

Install the corrected macOS DigiD build distributed by the vendor - patch status is "Patch available per vendor advisory," with the fix surfaced through the Mac App Store listing at https://apps.apple.com/us/app/digid/id1208460960 (no exact version string is published in the source data, so verify you are on the latest App Store release rather than assuming a version number). There is no meaningful user-side workaround once an attacker already has local user-level code execution on the Mac: the injection relies on the loader honouring DYLD_INSERT_LIBRARIES in an unsigned-for-Hardened-Runtime process, so the only reliable fix is the hardened, signed binary. As compensating measures for environments that cannot immediately update, avoid launching DigiD from any shell, script or wrapper that inherits attacker-controllable environment variables, sanitise or drop DYLD_INSERT_LIBRARIES and DYLD_LIBRARY_PATH before launching the app (trade-off: this only helps against ambient environment manipulation, not against a process that can spawn DigiD itself), restrict interactive local access to the Mac, and treat any host where untrusted user-level code has run as compromised for DigiD purposes - removing local code execution is a prerequisite, not an alternative, to patching.

Affected VersionsENISA

DigiD for macOS <6.19.2

Affected Packages

euvd digid_for_macos fix: 6.19.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

On macOS, Hardened Runtime is a code-signing hardening flag that, among other restrictions, disables the ability of the dynamic loader to honour DYLD_INSERT_LIBRARIES and similar DYLD_* environment variables for that process; library validation also prevents loading libraries not signed by the same team. Because the macOS DigiD app is shipped without Hardened Runtime, a local process running as the same user can set DYLD_INSERT_LIBRARIES to its own dylib and have it loaded into DigiD at launch, achieving arbitrary code execution inside the DigiD address space with DigiD's entitlements, keychain access and session context. No CWE was assigned in the source data, but the root-cause class is untrusted dynamic library injection / missing process-hardening configuration (closely related to uncontrolled search path and untrusted library loading weaknesses), rather than a memory-safety flaw. The affected-product CPE is cpe:2.3:a:logius:digid_for_macos:*:*:*:*:*:*:*:*, i.e. a wildcard covering all tracked macOS DigiD releases until the hardened, signed build is installed; the exploitation prerequisites (AV:L, PR:L) confirm this is a same-host, user-level post-exploitation technique, and the reported researcher credit is Kun Peeks (@SwayZGl1tZyyy) via NCSC-NL.

Know when Digid For Macos 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 (NCSC-NL) PRIMARY 7.1 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 7.1 HIGH

Attacker needs pre-existing local unprivileged code execution (AV:L, PR:L); injection is reliable (AC:L) yielding full read/write of app data and crypto (C:H/I:H), no availability loss (A:N).

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

Primary rating from Vendor (NCSC-NL).

CVSS VectorVendor: NCSC-NL

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

DescriptionCVE.org

The macOS version of the DigiD app is not signed with Hardened Runtime. As a result, a local process can load its own dylib into DigiD via DYLD_INSERT_LIBRARIES. An attacker with local user-level code execution can execute arbitrary code within the macOS version of the DigiD app, thereby gaining access to DigiD data and cryptographic capabilities that the process normally does not have. Reported by Kun Peeks (@SwayZGl1tZyyy)

Executive ViewAI

Why It Matters

A local capability-escalation flaw in the macOS build of Logius's DigiD identity app (CVE-2026-103316) would allow malicious code already running under a normal user account on a Mac to hijack the DigiD process and reach its stored data and cryptographic operations. Exploitation requires an attacker to already hold a foothold on the same machine, so this does not expand remote attack surface, but it weakens the trust boundary around a national digital-identity credential used by employees and customers. Leadership should care because compromise of DigiD's in-app secrets and signing functions could enable identity fraud or impersonation, even though no public exploit code or confirmed active exploitation has been identified.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Low
macOS build of a Netherlands-only government ID app, small desktop footprint
Data Quality
4 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

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

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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