Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid temporary share URL (any subnet)
-
DeliveryIdentify integer subnetId parameter in URL
-
ExploitEnumerate subnetId values via sequential HTTP GET requests
-
ExecutionBypass subnet-scope check in app/temp_share/index.php
-
PersistRetrieve all IP records including notes with credentials
-
ImpactExfiltrate full IP inventory
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires two concrete preconditions: (1) at least one temporary share of type 'subnets' must have been created by an administrator and must not yet be expired - the phpIPAM temporary share feature is not enabled by default but is available to any admin; (2) the attacker must possess any valid, non-expired temporary share URL for the phpIPAM instance, regardless of which subnet it covers. Exploitation is limited to deployments where the temporary share feature has been actively used. The attacker does not need a phpIPAM account, does not need to know the correct subnetId in advance (they enumerate it), and does not need the share URL to cover the target subnet. Scope is bounded only by the total number of IP address records stored in the database, not by the subnet the share was issued for. |
| Impact | The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N) appropriately reflects network-reachable, low-complexity, unauthenticated exploitation with high confidentiality impact. The effective threat model requires that at least one temporary share of type 'subnets' has been created and that a valid, non-expired share URL is in the attacker's possession - this is not a zero-configuration attack surface. However, temporary share URLs are by design intended for distribution to external parties, so possession of one is a modest and realistic precondition. The impact ceiling is severe: a single enumeration sweep across sequential integer subnetIds can reconstruct the organization's entire IP inventory including internal hostnames, MAC addresses, and notes fields that frequently store credentials and configuration snippets. No EPSS data was provided and no KEV listing exists, so widespread active exploitation is not confirmed. Despite the absence of a known public POC, the attack is trivially automatable (simple HTTP GET loop with incrementing subnetId), meaning time-to-exploit once an attacker has any valid share URL is extremely low. Real-world priority should be high for any phpIPAM deployment that uses the temporary share feature. |
| Exploit ScenarioDerived | An attacker receives a legitimate temporary share URL for a single /24 subnet - perhaps forwarded by an employee or extracted from an email archive - and observes the subnetId integer in the URL. The attacker writes a simple loop that increments subnetId from 1 to several thousand, issuing an authenticated-looking GET request to the temp_share endpoint for each value, and harvests every IP address record returned including hostnames, MAC addresses, and notes fields across all subnets in the organization. No public exploit code has been identified at time of analysis, but the attack is trivially constructable from the CVE description alone. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 17, 2026
Insecure Direct Object Reference (IDOR) in phpIPAM through 1.8.1 allows any holder of a valid temporary share URL to enumerate every IP address record stored across all subnets and sections - far beyond the single subnet the share was issued for. The flaw exists because the temporary share handler in app/temp_share/index.php passes the attacker-controlled subnetId GET parameter directly to a database fetch without confirming the returned address belongs to the authorized subnet. Exposed records include hostnames, DNS names, MAC addresses, owner and contact fields, and free-text notes that frequently contain credentials and configuration details. No public exploit or CISA KEV listing has been identified at time of analysis; a vendor-released patch is available in v1.8.2.
RemediationAI
Upgrade to phpIPAM v1.8.2, which is confirmed as the patched release per the project's GitHub releases page (https://github.com/phpipam/phpipam/releases/tag/v1.8.2) and the fixing commit 2980be03652c0eb1db9fe2bcefaa210c854b9aea (https://github.com/phpipam/phpipam/commit/2980be03652c0eb1db9fe2bcefaa210c854b9aea). The patch adds a pre-render validation step that fetches the address by the supplied subnetId and aborts the request if the record's subnetId does not match the subnet bound to the share token. As an interim compensating control if immediate patching is not possible, administrators should revoke or expire all active temporary subnet shares via the phpIPAM admin interface - this eliminates the attacker's precondition of holding a valid share URL. Note that revoking shares will break legitimate recipients' access until new shares are issued post-upgrade. Additionally, consider restricting the phpIPAM web application to authorized network segments via firewall or reverse-proxy ACLs to reduce the population of potential attackers who could obtain share URLs.
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
phpIPAM is a PHP-based open-source IP Address Management (IPAM) application that stores network topology, host records, and associated metadata in a relational database. The temporary share feature allows administrators to generate time-limited, token-authenticated URLs granting unauthenticated access to a specific subnet's data. The vulnerability (CWE-639: Authorization Bypass Through User-Controlled Key) manifests because the subnetId query parameter supplied in the temp-share address view is used as a raw database primary key - effectively a surrogate for the authorized scope - without validating that the fetched address record's subnetId matches the subnet bound to the share token. The commit diff at 2980be03652c0eb1db9fe2bcefaa210c854b9aea confirms the fix: the application now calls fetch_address() on the supplied subnetId, then asserts that the returned object's subnetId field equals the authorized subnet ID before rendering any data. Affected CPE: cpe:2.3:a:phpipam:phpipam:*:*:*:*:*:*:*:* through version 1.8.1.
Know when Phpipam 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:N/VA:N/SC:N/SI:N/SA:N
Network-reachable with no authentication beyond possessing a share URL; no integrity or availability impact; confidentiality impact is high across all stored IP records.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
phpIPAM through 1.8.1 fails to verify that a requested IP address belongs to the subnet a temporary share token was issued for. In app/temp_share/index.php and app/temp_share/address.php, when the share type is 'subnets', the subnetId parameter is used directly as a database primary key to fetch an address without confirming the address belongs to the authorized subnet. An unauthenticated party holding any valid, non-expired temporary share URL can enumerate the subnetId parameter to read every IP address record across all sections and subnets, including hostnames, DNS names, MAC addresses, owner/contact fields, and notes (which may contain credentials and configuration details).
Executive ViewAI
phpIPAM versions through 1.8.1 contain an IDOR vulnerability in the temporary share feature that allows any user with a share URL to access the complete IP address inventory across all network subnets and sections, including hostnames, MAC addresses, and notes frequently containing credentials. This exposes infrastructure authentication data and network topology beyond the scope of intended access, creating risk of network reconnaissance and lateral movement.
Apply vendor patch. Interim: disable temporary share generation and revoke all active temporary shares until v1.8.2 deployment is complete; restrict phpIPAM access to internal network only to limit exploit surface.
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.
phpipam v1.5.0 was discovered to contain a header injection vulnerability via the component /admin/subnets/ripe-query.ph
phpIPAM 1.4 allows SQL injection via the app/admin/custom-fields/edit.php table parameter when action=add is used. Rated
phpIPAM 1.4 allows SQL injection via the app/admin/custom-fields/filter.php table parameter when action=add is used. Rat
phpIPAM 1.4 allows SQL injection via the app/admin/custom-fields/edit-result.php table parameter when action=add is used
phpIPAM 1.4 allows SQL injection via the app/admin/custom-fields/order.php table parameter when action=add is used. Rate
phpIPAM 1.4 allows SQL injection via the app/admin/custom-fields/filter-result.php table parameter when action=add is us
phpIPAM version 1.3.2 contains a CWE-89 vulnerability in /app/admin/nat/item-add-submit.php that can result in SQL Injec
An issue was discovered in tools/pass-change/result.php in phpIPAM 1.4. Rated high severity (CVSS 8.8), this vulnerabili
Incorrect authorization in phpIPAM's REST API (api/controllers/User.php) allows an attacker with API access to retrieve
In phpipam/phpipam version 1.5.1, the Secure attribute for sensitive cookies in HTTPS sessions is not set. Rated high se
Phpipam before v1.5.2 was discovered to contain a LDAP injection vulnerability via the dname parameter at /users/ad-sear
SQL Injection in GitHub repository phpipam/phpipam prior to v1.5.2. Rated high severity (CVSS 7.2), this vulnerability i
EUVD-2026-60385
GHSA-rvhc-g4r6-x86w
NVD
CVE.org
EPSS
Exploit-DB