Skip to main content

Part-DB CVE-2026-86055

| EUVDEUVD-2026-108581 HIGH
Weak Password Recovery Mechanism for Forgotten Password (CWE-640)
2026-10-23 GitHub_M
8.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Reach public /pw_reset/request endpoint
  2. Delivery
    Submit forgot-password with spoofed Host header
  3. Exploit
    Part-DB emails victim token with attacker hostname
  4. Install
    Victim or mail scanner dereferences poisoned link
  5. C2
    Attacker captures valid reset token
  6. Execute
    Replay token on real instance, set password
  7. Impact
    Full admin account takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Password recovery security
Exploitation Conditions

Exploitation requires the target instance to have email-based password reset enabled (ALLOW_EMAIL_PW_RESET=1, which the vendor describes as the expected setup when a mail server is configured) AND the default empty TRUSTED_HOSTS configuration, which causes Symfony to trust any client-supplied Host header. The attacker must know the victim's username or email (the forgot-password form accepts either) and have network access to the public /pw_reset/request endpoint; no account, CSRF secret, or trusted-proxy bypass is needed because the plain Host path is unprotected (the X-Forwarded-Host variant is already neutralised by the default TRUSTED_PROXIES=127.0.0.1). The decisive LIMITING factor is that the token only reaches the attacker if the victim opens the legitimate-looking reset email or an automated inbound URL scanner pre-fetches the link; instances that set a non-empty TRUSTED_HOSTS allowlist (reject non-matching Host with HTTP 400) or have email reset disabled are not exploitable.

Impact

This is a genuine high-priority issue, not an inflated-CVSS artifact. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H, base 8.7) aligns with the mechanism described: an unauthenticated, network-reachable host-header poisoning flaw (CWE-640) that yields full pre-authentication account takeover, including the seeded admin account. The GHSA advisory includes a complete, observed end-to-end reproduction against the official jbtronics/part-db1:v2.13.1 image, so exploit tradecraft is public and reliable. The one limiting signal is UI:P - the victim (or an automated inbound mail-security URL scanner) must dereference the emailed link - which is why this is a one-step-removed token-disclosure chain rather than a direct single-request RCE. EPSS is not provided in the input and the CVE is NOT in CISA KEV, so there is no evidence of active in-the-wild exploitation; the vuln.today decision label is 'this_week', consistent with a serious-but-not-emergency, patch-this-week posture. No signals conflict: the network vector, unauthenticated privilege, and the published working PoC all point the same direction. The main caveat is exposure scope - the flaw only matters on instances with email-based password reset enabled (ALLOW_EMAIL_PW_RESET=1) and with the default empty TRUSTED_HOSTS.

Exploit ScenarioDerived

An unauthenticated attacker sends a raw POST to the public /pw_reset/request endpoint for a known account (e.g. the seeded 'admin') with a spoofed Host header; Part-DB, trusting all hosts by default, emails the victim a genuine reset token inside a link pointing at the attacker's hostname. When the victim or an automated inbound mail-security link scanner dereferences that URL, the valid token reaches the attacker, who replays it against the real instance to set a new password and seize the account. A full working proof-of-concept with observed successful takeover is published in the GHSA advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 23, 2026

Password-reset link poisoning in Part-DB Server (through 2.13.2) lets an unauthenticated remote attacker who can reach the public /pw_reset/request endpoint obtain a valid reset token for any known account, including the seeded admin, by submitting a forgot-password request with a spoofed HTTP Host header; the victim is emailed a genuine, valid token inside a link pointing at an attacker-controlled hostname, which the attacker then replays against the real instance to set a new password and take over the account. Exploitation is limited to installations that have email-based password reset enabled (ALLOW_EMAIL_PW_RESET=1) and leave TRUSTED_HOSTS empty, which the shipped configuration does by default, and the token only reaches the attacker if the victim opens the legitimate-looking email or an inbound URL scanner pre-fetches the link. The vendor advisory includes a detailed end-to-end reproduction; there is no CISA KEV listing and no confirmed active exploitation at time of analysis, and the vendor released a fix in 2.13.3.

RemediationAI

Upgrade to Part-DB Server 2.13.3, the vendor-released patch that 'ensures that the password reset link is always pointing to a trustable host' (https://github.com/Part-DB/Part-DB-server/releases/tag/v2.13.3); this is the complete fix. If the upgrade cannot be applied this week, the advisory documents configuration-level mitigations that close the vector without changing code: set a non-empty TRUSTED_HOSTS allowlist derived from the instance's real hostname, which makes Symfony reject any request carrying a non-matching Host header with HTTP 400 before it reaches the reset flow (trade-off: legitimate clients reaching the instance under a hostname not in the allowlist, such as an alternate internal FQDN or IP, will be rejected until added), or disable email-based password reset by clearing ALLOW_EMAIL_PW_RESET (trade-off: users lose self-service recovery and must have passwords reset by an administrator). Version 2.13.3 also surfaces a homepage banner urging operators to configure TRUSTED_HOSTS, which is worth enabling after upgrading. Because the token is delivered as soon as the reset email is opened or pre-fetched by an inbound mail scanner, treating any pre-2.13.3 instance with email reset enabled as potentially compromised and rotating credentials for accounts that received unexpected reset mail is advisable; the vendor advisory at https://github.com/Part-DB/Part-DB-server/security/advisories/GHSA-m9rf-69wp-c56r contains the full reproduction and the suggested host-pinning fix for reference.

Affected VersionsENISA

Part-DB-server < 2.13.3

Affected Packages

euvd part_db_server fix: 2.13.3

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

Part-DB is a Symfony (PHP) application, and the flaw is CWE-640, weak password recovery for forgotten passwords. The reset email template renders the link with Twig's url() helper, which resolves to UrlGeneratorInterface::ABSOLUTE_URL, and the mail is rendered and sent synchronously inside the HTTP request (PasswordResetManager.php; no async messenger transport configured). Because the request context exists, Symfony's router builds the absolute URL from the client-supplied Host header rather than from the configured DEFAULT_URI, and nothing pins that host: framework.yaml sets trusted_hosts from '%env(TRUSTED_HOSTS)%' while the shipped parameters file defaults that variable to an empty string whose own comment reads 'Trust all host names by default'. With trusted_hosts empty, Symfony accepts any Host value; the configured DEFAULT_URI only applies to non-HTTP/CLI router contexts, and the X-Forwarded-Host variant is already neutralised by the default TRUSTED_PROXIES=127.0.0.1, leaving the plain Host path unprotected. The reset token itself (md5(random_bytes(32)), stored hashed and valid for one day) is embedded in the link path /pw_reset/new_pw/{user}/{token} and also printed verbatim in the email body, so a captured link fully discloses it. The affected package is composer/part-db/part-db-server (CPE cpe:2.3:a:part-db:part-db-server), reported as vulnerable through 2.13.2 and fixed in 2.13.3, which also adds a homepage banner recommending that operators configure TRUSTED_HOSTS.

Know when Part Db 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 (GitHub_M) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Remote unauthenticated host-header poisoning (AV:N/AC:L/PR:N), but token disclosure needs the victim or a mail scanner to open the link (UI:R); admin takeover gives full C/I/A with no scope change.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 23, 2026 - 05:01 EUVD
CVE Published
Oct 23, 2026 - 04:09 cve.org
HIGH 8.7

DescriptionCVE.org

Part-DB is an open source inventory management system for electronic components. Prior to version 2.13.3, Part-DB builds the absolute URL of the password-reset link it emails to a user from the client-supplied HTTP Host header, with no trusted-host validation. An unauthenticated attacker who submits a forgot-password request for a known account while sending a spoofed Host header causes Part-DB to email that account a reset link whose hostname is attacker-controlled, while still embedding the genuine reset token. When the victim opens the link (or an automated inbound mail-security scanner dereferences it), the valid token is disclosed to the attacker, who replays it against the real instance to set a new password and take over the account. Because the seeded admin account can be targeted, this yields full pre-authentication administrative account takeover. This issue has been patched in version 2.13.3.

Technical POC Analysis

CWE-640 (Weak Password Recovery Mechanism for Forgotten Password) - host header injection into the emailed reset link's absolute URL.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-86055 in Part-DB Server (through 2.13.2) enables unauthenticated attackers to hijack any account, including the seeded admin, by exploiting the password-reset flow. Default configurations are vulnerable, putting organizations that rely on Part-DB for inventory management at risk of full system compromise.

Business Impact: High
Compensating Controls

Set ALLOW_EMAIL_PW_RESET=0 to disable email-based password reset. Configure TRUSTED_HOSTS with only legitimate hostnames. Implement a reverse proxy or web application firewall to validate Host headers. Monitor password-reset logs for anomalies.

Threat Intelligence Overview

EPSS Score
0.4%
Top 67% exploitable
Prevalence
Low
niche self-hosted open-source electronics inventory tool, mostly hobbyist/homelab
Social Media
1
Sightings
Data Quality
5 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.4%
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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

CVE-2022-0848 CRITICAL POC
9.8 Mar 04

OS Command Injection in GitHub repository part-db/part-db prior to 0.5.11. Rated critical severity (CVSS 9.8), this vuln

CVE-2026-54630 CRITICAL
9.6 Oct 23

Authenticated file upload in Part-DB Server 2.12.0 and earlier lets any member of the default users group obtain remote

CVE-2023-26042 MEDIUM
6.1 Feb 27

Part-DB is an open source inventory management system for your electronic components. Rated medium severity (CVSS 6.1),

CVE-2026-54615 MEDIUM
6.0 Oct 23

Stored HTML injection in Part-DB through 2.12.0 lets an authenticated user with edit rights on an entity store a crafted

CVE-2026-55600 MEDIUM
5.7 Oct 23

Stored cross-user HTML injection in Part-DB's BOM validation results allows a user who can create or edit a Part name to

CVE-2026-59188 MEDIUM
5.4 Oct 23

Stored cross-site scripting in Part-DB Server 2.12.2 and earlier allows an authenticated user with attachment-upload per

CVE-2026-86018 MEDIUM
5.3 Oct 23

Authenticated users with attachment create/edit permissions can bypass the configured MAX_ATTACHMENT_FILE_SIZE limit in

CVE-2026-86019 MEDIUM
5.3 Oct 23

Authenticated users holding the API access permission can bypass the configured maximum attachment file size in Part-DB

CVE-2026-86020 MEDIUM
4.6 Oct 23

Spreadsheet formula injection in Part-DB through 2.13.1 lets an authenticated user who holds the '@parts.import' permiss

CVE-2025-55194 MEDIUM POC
5.7 Aug 13

Part-DB is an open source inventory management system for electronic components. Rated medium severity (CVSS 5.7), this

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