Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify exposed pig /register/password endpoint
-
DeliverySubmit target username with bogus current password
-
ExploitVerification result discarded, new password accepted
-
ExecutionAdmin credential overwritten
-
ImpactLog in as admin, full administrative control
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Password change verification
|
| Exploitation Conditions | Requires network reachability to the pig application's /register/password endpoint (the SysRegisterController register-password route), which is exposed for password self-service; no valid current password and no authentication are needed because the verification result is discarded. The only real limiting factors are that the target instance must run pig before 4.1.0 and the endpoint must be reachable by the attacker; no user interaction, non-default configuration, or prior credentials are required. An attacker who knows or guesses a username (e.g. the default 'admin') can overwrite that account's password. |
| Impact | This is a genuine high-priority issue, and the multiple signals largely agree. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H) describes a remote, low-complexity, unauthenticated flaw, and the description plus the commit diff corroborate that: checkPassword() returns its real result in the R.data boolean, but resetUserPassword() tested checkedPassword.isOk() (which is true even for a wrong password) instead of the data value, so the verification result was discarded entirely - a textbook CWE-620 Unverified Password Change. A public exploit exists (geo-chen/oss writeup) and the root cause is confirmed by the fix commit, so exploitability is not speculative. There is no CISA KEV listing and no EPSS score in the input, so there is no evidence of active mass exploitation yet - the status is 'publicly available exploit code exists,' which is distinct from in-the-wild use. The one metric worth scrutinizing is impact scope: the vendor scored VA:N (no availability impact), but because the primitive lets an attacker overwrite the admin account password, it yields full admin takeover, which realistically implies confidentiality, integrity AND availability compromise (the legitimate admin is locked out). Overall this is a real, easily weaponized authentication bypass in an internet-facing registration endpoint, not a high-CVSS-but-low-risk paper cut. |
| Exploit ScenarioDerived | A remote unauthenticated attacker sends a POST to the /register/password endpoint supplying the target username (e.g. 'admin'), an arbitrary/incorrect 'current password,' and a new password. Because the password-verification result is discarded, the server accepts the request and overwrites the admin credential, letting the attacker log in with the password they just set and take full administrative control. A public proof-of-concept/writeup for this exact flow is available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Unauthenticated credential takeover in pig-mesh Pig before 4.1.0 allows any remote attacker who can reach the /register/password endpoint to overwrite the password of an arbitrary account, including the built-in 'admin' account, and thereby obtain full administrative control of the platform. The flaw is an authentication bypass: the endpoint's password-reset logic calls checkPassword() but discards the boolean result, so the submitted 'current password' is never actually validated. Publicly available exploit code exists (a proof-of-concept write-up and the upstream issue are linked), and the vendor has released version 4.1.0 as the fix; there is no indication of confirmed exploitation in CISA KEV at the time of analysis, but the combination of unauthenticated remote exploitation, high impact (CVSS 4.0 base 9.3; independently assessed CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) and public exploit code makes rapid patching warranted.
RemediationAI
Upgrade to pig-mesh Pig 4.1.0 or later, which is the vendor-released fixed version; the corrective change is upstream commit ce958668f399110b97b3f1fcc5f517ff9bcfd535, which restores enforcement of the checkPassword() result in SysUserServiceImpl.resetUserPassword(). If immediate upgrade is not possible, restrict network access to the /register/password route exposed by SysRegisterController (for example by placing pig-upms behind an API gateway or reverse proxy that blocks that path from untrusted networks, or by firewalling the management/registration ports); this is effective because the exploit depends entirely on reaching that endpoint, but it will break legitimate self-service password resets and any client integrations that call it. A second compensating control is to disable the register/password-reset route in configuration until the upgrade is applied, accepting the loss of self-service password functionality, and to rotate the credentials of privileged accounts (especially 'admin') and review audit logs for unexpected password-change events, since post-exploitation credential overwrites may already have occurred. All administrators should treat previously exposed instances as potentially compromised and verify account credentials after patching. Configuration hardening such as renaming the default 'admin' account reduces targeting convenience but does not fix the underlying unverified-password-change flaw (CWE-620), so it should not be relied on as a substitute for the 4.1.0 upgrade. Reference advisories: https://www.vulncheck.com/advisories/pig-before-4.1.0-unverified-password-change-via-register-password, https://github.com/pig-mesh/pig/issues/1249, and the PoC at https://github.com/geo-chen/oss/blob/main/pig.md.
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
pig-mesh Pig (github.com/pig-mesh/pig) is a Java/Spring Cloud microservice-based RBAC administration platform; the affected code lives in the pig-upms module (pig-upms-biz). The vulnerable flow is SysRegisterController (/register/password) invoking SysUserServiceImpl.resetUserPassword(), which first calls checkPassword(username, password). In version 4.0.0, resetUserPassword only tested the transport-level success flag of the returned R wrapper (checkedPassword.isOk()) rather than the boolean payload returned by checkPassword, so the verification outcome was effectively ignored and any value could be supplied as the 'current' password before the new credential was written. The upstream fix (commit ce958668f399110b97b3f1fcc5f517ff9bcfd535) changes the method signature to R<Boolean> and the condition to Boolean.TRUE.equals(checkedPassword.getData()), ensuring the actual password-match result is enforced. This maps to CWE-620 (Unverified Password Change), an authorization/logic class in which the application permits a password change without proving knowledge of the existing credential; because the endpoint is reachable without authentication (CVSS vector PR:N) and acts on a user-supplied username, it is effectively an account-takeover primitive rather than a simple logic error. CPE data (cpe:2.3:a:pig-mesh:pig:*:*:*:*:*:*:*:*) confirms all releases of the pig product prior to 4.1.0 are in scope; EUVD records the affected range as 'Pig 0 < 4.1.0'.
Know when Pig 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:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Remote, low-complexity, unauthenticated overwrite of any account password yields full admin takeover, so C:H/I:H and A:H (admin lockout); vendor scored A:N by scoping only to the credential-change primitive.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
pig before 4.1.0 contains an authentication bypass vulnerability in the /register/password endpoint where password verification results are discarded, allowing any value as the current password. Remote attackers can submit a username with an incorrect current password to overwrite any account credential including the admin account and gain full administrative control.
Technical POC Analysis
{"analysis":"## Root cause\nCWE-620 Unverified Password Change.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
Pig (pig-mesh) deployments running versions prior to 4.1.0 are exposed to an unauthenticated remote attacker who can seize full administrative control of the platform by overwriting any account password, including the built-in 'admin' account. Because no credentials or user interaction are required and publicly available exploit code exists, any internet- or network-reachable Pig instance should be treated as a probable target, putting platform configuration, integrated downstream systems, and any data or secrets managed through it at risk. Leadership should treat this as a board-visible availability and data-integrity exposure for every team relying on Pig-managed services until the vendor fix is deployed.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Remote code injection in pig-mesh Pig's pig-codegen module through version 3.9.2 allows low-privileged authenticated att
Information disclosure in pig (pig-mesh) through 4.1.1 allows any authenticated user to read arbitrary users' profile da
In pig-mesh In Pig version 3.8.2 and below, within the Token Management function under the System Management module, the
In pig-mesh Pig versions 3.8.2 and below, when setting up scheduled tasks in the Quartz management function under the sy
EUVD-2026-78435
GHSA-7g92-2j5x-mj6h
NVD
CVE.org
EPSS
Exploit-DB