Skip to main content

go-ldap-admin CVE-2026-111347

| EUVDEUVD-2026-102491 HIGH
Use of Hard-coded Cryptographic Key (CWE-321)
2026-10-15 VulnCheck GHSA-8xxp-5p6v-mjx3
8.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Capture encrypted LDAP passwords
  2. Delivery
    Extract published hard-coded RSA key
  3. Exploit
    Submit ciphertext to /base/decryptpwd oracle
  4. Execution
    Recover cleartext LDAP credentials
  5. Impact
    Reuse credentials for directory access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Key management, no hard-coded keys
Exploitation Conditions

Exploitation requires the attacker to first obtain the encrypted password blobs that go-ldap-admin produces (for example by capturing login traffic or reading stored encrypted values); once ciphertext is held, decryption is unauthenticated because the RSA private key is published in the project's config/config.go and the /base/decryptpwd route requires no authentication. The exploit affects any deployment through 0.6.2 that uses the default embedded key - operators who replaced the key with their own are not affected. The sole limiting factor is access to the ciphertext; there is no user interaction, no privilege requirement, and no special non-default configuration needed to decrypt it.

Impact

This is a credential-disclosure flaw (CWE-321, hard-coded cryptographic key) with a provided CVSS 4.0 vector of AV:N/AC:L/AT:P/PR:N/UI:N/VC:H scoring 8.2. The signals are moderately consistent: network vector and no privileges/UI point to easy reach, but the AT:P (attack-requirements-present) metric correctly reflects that an attacker must first capture the encrypted password ciphertext before the embedded key or the /base/decryptpwd oracle become useful - this is a real gating condition, not a trivial drive-by. No EPSS probability was supplied and the CVE is NOT on the CISA KEV list, so there is no evidence of active exploitation; the practical risk is driven instead by how trivially the secret is recoverable (the RSA private key is published in the public GitHub repo at config/config.go) and by a detailed public technical writeup (hackmd) documenting the decrypt oracle. Treat this as a genuine priority for anyone running go-ldap-admin because the cryptographic protection is effectively void for all deployments using the default key, but note the real-world blast radius is tempered by (a) low product prevalence and (b) the prerequisite of obtaining ciphertext. Missing data: no EPSS, no KEV, no formal POC flag, and no vendor-confirmed fixed version - verify patch status directly with the opsre project.

Exploit ScenarioDerived

An attacker intercepts or otherwise obtains the encrypted LDAP login passwords handled by go-ldap-admin (e.g., via captured traffic or stored values), retrieves the hard-coded RSA private key that is publicly committed to the project repository, and decrypts the ciphertext either offline or by submitting it to the unauthenticated /base/decryptpwd endpoint, recovering cleartext directory credentials. A detailed public writeup describes this exact decrypt-oracle technique, but no packaged exploit tool was identified in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Cleartext LDAP credential recovery in go-ldap-admin through 0.6.2 is possible because the application ships with a hard-coded RSA private key, committed to the public repository at config/config.go, that is used to encrypt login passwords. An attacker who obtains the encrypted password blobs - by capturing login traffic or reading a stored encrypted value - can decrypt them offline, or simply replay them to the unauthenticated /base/decryptpwd endpoint, to recover usable LDAP account credentials; no authentication, user interaction, or non-default configuration is required once ciphertext is in hand, which is the only real precondition (reflected in the assessed CVSS 3.1 vector AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N versus the vendor-provided CVSS 4.0 score of 8.2). Deployments that replaced the embedded key with their own keypair are not affected. No vendor patch is identified in the available data, and no public exploit code has been flagged at time of analysis, although a detailed public technical writeup of the decrypt oracle exists.

RemediationAI

No vendor-released patch is identified in the available data, so remediation must be configuration- and deployment-driven. The single most effective action is to remove the shipped key: generate a fresh RSA keypair, replace the embedded key in config/config.go, rebuild/redeploy, and treat every ciphertext produced with the old key as permanently compromised - rotating all LDAP service and user credentials that may have been transmitted through the affected instance, since captured blobs remain decryptable forever with a public key. Because /base/decryptpwd is unauthenticated, block external access to that route at the reverse proxy or WAF (deny rule for /base/decryptpwd) and restrict the whole admin interface to a trusted management network or VPN; the trade-off is loss of remote administrative access, and route blocking alone does not protect offline decryption of already-captured traffic, so it is a compensating control rather than a fix. Prefer TLS-only internal handling and avoid transmitting or persisting passwords encrypted with the static key at all, and monitor for abnormal hits to /base/decryptpwd as a detection signal. Track the vendor repository and the VulnCheck advisory (https://www.vulncheck.com/advisories/go-ldap-admin-through-0.6.2-hard-coded-rsa-private-key-via-base-decryptpwd) for an official fixed release before upgrading, and validate any future upgrade by confirming the hard-coded key no longer appears in config/config.go. Exploitation status: no public exploit code has been flagged at time of analysis, and the CVE is not associated with confirmed active exploitation (CISA KEV).

Affected VersionsENISA

go-ldap-admin 0 ≤0.6.2

Affected Packages

euvd go_ldap_admin no fix

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

go-ldap-admin (opsre) is a Go-based web administration front end for LDAP directories. Versions through 0.6.2 embed a static RSA private key directly in source at config/config.go (lines 20-24, with related key handling around lines 76-77); the corresponding encryption path is used to protect login passwords before they are transmitted or stored. Because the private half of the keypair is public, the confidentiality of any ciphertext produced with it is void - this is CWE-321 (Use of Hard-coded Cryptographic Key), a classic key-management failure rather than a protocol or memory-safety bug. The exposure is compounded by routes/base_routes.go line 50, which exposes a /base/decryptpwd route that maps to the decryption logic in logic/base_logic.go lines 188-199; that handler performs no authentication, effectively turning the application into a server-side decryption oracle for anyone who can reach it. The CPE data (cpe:2.3:a:opsre:go-ldap-admin:*:*:*:*:*:*:*:*) with a wildcard version confirms the vulnerability is tracked across all published releases, with 0.6.2 as the last affected version in the description; the encryption scheme itself is only as strong as the key, so offline recovery is trivial for an attacker holding ciphertext, and the decrypt endpoint removes even that step.

Know when Go Ldap Admin 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 (VulnCheck) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.9 MEDIUM

AC:H because the attacker must first capture encrypted password ciphertext (a precondition beyond their control); PR:N/UI:N as the key is public and the oracle unauthenticated; C:H only, no integrity or availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

go-ldap-admin through 0.6.2 embeds a hard-coded RSA private key, published in the public repository, that protects encrypted login passwords. Unauthenticated attackers who capture encrypted passwords can decrypt them offline or via the /base/decryptpwd endpoint, recovering cleartext LDAP credentials for reuse.

Executive ViewAI

Why It Matters

go-ldap-admin versions up to 0.6.2 contain a hard-coded encryption key that allows attackers to recover LDAP credentials from captured or stored encrypted passwords, potentially leading to unauthorized access to directory services and sensitive systems. Organizations using this tool for LDAP administration are at risk of credential compromise, which could result in data breaches or lateral movement within the network. Leadership should prioritize mitigation because the flaw can be exploited without authentication once ciphertext is obtained, and affected deployments require immediate attention.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; replace the hard-coded RSA private key with a unique, securely generated keypair, restrict network access to the /base/decryptpwd endpoint, monitor for unauthorized access attempts, and rotate LDAP credentials that may have been encrypted with the default key.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Low
niche open-source LDAP admin tool, limited enterprise footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.4%
Patch available No
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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
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