Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain on-path position to LDAP server
-
DeliveryIntercept StartTLS extended request
-
ExploitRespond with LDAP Protocol error
-
ExecutionSnipe-IT falls back to cleartext bind
-
ImpactCapture service-account and user credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V12 - Secure Communication Transport encryption
|
| Exploitation Conditions | Exploitation requires that Snipe-IT LDAP authentication is enabled and configured with TLS (ldap_enabled=1 and ldap_tls=1) - a non-default, operator-dependent configuration. The attacker must also hold an on-path network position between the Snipe-IT instance and the LDAP server (shared L2 segment, compromised intermediate hop, or a foothold in the same VPC/subnet) and must be able to answer the StartTLS extended request with a 'Protocol error' before the legitimate server responds (or the server must simply not negotiate StartTLS). No authentication to Snipe-IT itself is required (PR:N), and no user interaction is needed (UI:N); the limiting factors are the mandatory on-path position (CVSS AT:P) and the requirement that TLS-protected LDAP auth actually be configured. Deployments where the Snipe-IT-to-LDAP path is fully trusted/segmented, or where LDAP is not used, are not exposed. |
| Impact | This is a genuine but conditional credential-exposure flaw, not an internet-wide emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) carries AT:P, meaning a specific attack requirement must hold: the attacker must occupy an on-path position between Snipe-IT and the LDAP server. PR:N confirms no authentication is needed to the Snipe-IT application itself, and the vendor-confirmed impact is high confidentiality (VC:H) with no integrity or availability impact (VI:N/VA:N) - consistent with cleartext credential capture (CWE-319). No EPSS score was provided in the input, and the CVE is not listed in CISA KEV, so there is no public-exploitation signal; status is no public exploit identified at time of analysis. The vuln.today decision label is this_week, indicating prompt but not emergency prioritization. The key tension is that the raw 8.2 score (driven by network vector and high confidentiality) overstates opportunistic risk, because AT:P plus the required ldap_enabled/ldap_tls configuration means exploitation is realistically limited to attackers who already hold a network foothold on the path to the directory server. Where that position is attainable (shared L2 segment, same VPC/subnet, compromised intermediate hop), the payoff is severe: both the LDAP service-account credentials and every end-user login password are harvested in cleartext. Treat as high priority specifically for organizations running LDAP-authenticated Snipe-IT with TLS configured; lower practical urgency where the Snipe-IT-to-LDAP path is fully trusted and segmented. |
| Exploit ScenarioDerived | An attacker with a foothold on the network path between Snipe-IT and its LDAP server (for example a compromised host on the same subnet or VPC) answers the StartTLS extended request with a Protocol error before the real directory server replies. Snipe-IT ignores the failed ldap_start_tls() return value and proceeds to bind in cleartext, so the attacker captures the LDAP service-account credentials on every search bind and each end-user password at interactive login while the login flow appears completely normal. No public exploit code was identified in the input, though the mechanism is fully documented in the vendor advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 25, 2026
LDAP credential exposure in Snipe-IT 8.6.2 and earlier lets an on-path attacker capture service-account and end-user passwords in cleartext. Ldap::connectToLdap() called ldap_start_tls() and discarded the boolean result, so when TLS negotiation fails or a man-in-the-middle answers the StartTLS extended request with a 'Protocol error', the subsequent ldap_bind() sends credentials unencrypted while users see a normal, silent login. Only deployments with LDAP authentication enabled and TLS configured (ldap_enabled=1, ldap_tls=1) plus an attacker-reachable network path to the LDAP server are exposed; no public exploit code was identified at time of analysis and the flaw is not listed in CISA KEV, though the vendor advisory publishes the exact code path and trigger.
RemediationAI
Vendor-released patch: upgrade to Snipe-IT 8.6.3 or later, which incorporates commit 91ea06904f and now checks the ldap_start_tls() return value, throwing a 'STARTTLS Failed.' exception instead of silently binding in cleartext (advisory: https://github.com/grokability/snipe-it/security/advisories/GHSA-wx48-r3qh-jvh5). Updating is the complete fix; after upgrading, LDAP logins that cannot negotiate TLS will fail loudly rather than succeed insecurely, so validate connectivity to the LDAP server before rolling out. For instances that cannot be updated immediately, the advisory's exploitability conditions identify the network path between Snipe-IT and the LDAP server as the lever: restricting that path so an attacker cannot sit on it or answer the StartTLS extended request - for example by segmenting the Snipe-IT host and the directory server onto a trusted segment, or by tunnelling LDAP through a trusted channel - reduces exposure, at the cost of added network complexity and the need to re-validate the path whenever either host moves. Disabling LDAP TLS is not a mitigation, since the flaw already results in plaintext binds.
Affected VersionsENISA
Affected Packages
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
Snipe-IT is a PHP/Laravel IT asset management application whose app/Models/Ldap.php implements directory authentication. PHP's ldap_start_tls() returns a boolean that is false when the LDAP server does not negotiate the StartTLS extended operation - either because the server does not advertise the extension or because an on-path attacker replies to the StartTLS request with a 'Protocol error' before the legitimate server can answer. connectToLdap() discarded that return value and proceeded directly to ldap_bind() on the same handle, so the bind was performed over the plain LDAP channel. This is CWE-319 (cleartext transmission of sensitive information) arising from CWE-757 (selection of a less-secure algorithm during negotiation), i.e. a silent StartTLS downgrade rather than an encryption bypass. Two credential streams cross the wire: the LDAP service-account credentials (ldap_uname / ldap_pword) used for the search bind on every lookup, and each end-user password submitted through findAndBindUserLdap() on interactive login. Because the bind still succeeds, the failure is invisible to both users and administrators. The fixed code in commit 91ea06904f checks the ldap_start_tls() return value and throws a 'STARTTLS Failed.' exception, matching the pattern already used by LdapTroubleshooter.
Know when Snipe It 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
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
AC:H reflects the required on-path position and StartTLS race (4.0 AT:P); PR:N/UI:N since no app auth or user action is needed; C:H for cleartext credential capture, I:N/A:N as no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Snipe-IT before 8.6.3 ignores the ldap_start_tls() return value in Ldap::connectToLdap(), allowing on-path attackers to force cleartext LDAP binds. Attackers can answer the StartTLS request with a protocol error to capture service-account credentials and end-user login passwords.
Technical POC Analysis
CWE-319 (Cleartext Transmission of Sensitive Information), with CWE-757 (Selection of Less-Secure Algorithm During Negotiation) as the enabling mechanism - the advisory lists both.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Snipe-IT versions 8.6.2 and earlier contain a high-severity flaw that silently transmits LDAP service-account and user passwords in cleartext when TLS negotiation fails. Organizations using Snipe-IT with LDAP authentication and TLS enabled are exposed to credential theft by an on-path attacker, risking unauthorized access to directory services and downstream systems. Leadership should prioritize remediation because compromised service accounts could enable broader network intrusion and data breaches.
No vendor-released patch identified at time of analysis. Interim mitigations include: disabling LDAP authentication (set ldap_enabled=0) or TLS (ldap_tls=0) only if LDAP traffic is otherwise protected; enforcing network segmentation and firewall rules to prevent on-path attacks; monitoring LDAP logs for StartTLS failures; and rotating potentially exposed credentials.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Cross-Site Request Forgery (CSRF) in GitHub repository snipe/snipe-it prior to v.6.2.3. Rated high severity (CVSS 8.8),
In Snipe-IT, versions v3.0-alpha to v5.3.7 are vulnerable to Host Header Injection. Rated high severity (CVSS 8.8), this
snipe-it is vulnerable to Cross-Site Request Forgery (CSRF). Rated high severity (CVSS 8.8), this vulnerability is remot
snipe-it is vulnerable to Cross-Site Request Forgery (CSRF). Rated high severity (CVSS 8.8), this vulnerability is remot
Two-factor authentication bypass in Snipe-IT (all releases before 8.7.0) allows an attacker who already knows a victim's
Session Fixation in GitHub repository snipe/snipe-it prior to 6.0.10. Rated high severity (CVSS 8.0), this vulnerability
Old sessions are not blocked by the login enable function. Rated high severity (CVSS 7.4), this vulnerability is remotel
snipe-it is vulnerable to Server-Side Request Forgery (SSRF). Rated high severity (CVSS 7.2), this vulnerability is remo
Broken authorization in Snipe-IT before 8.6.2 lets an authenticated non-admin user who holds users.view and users.edit -
Privilege escalation via authorization bypass in Snipe-IT versions prior to 8.6.0 allows any authenticated user holding
Improper permission handling in Snipe-IT before 8.6.0 lets a privileged user strip another user's administrative or gran
Snipe-IT before 7.0.10 allows remote code execution (associated with cookie serialization) when an attacker knows the AP
EUVD-2026-109458
GHSA-5j22-x9vm-7fm5
NVD
CVE.org
EPSS
Exploit-DB