Security Vulnerability Report
中文
CVE-2026-34871 CVSS 6.7 MEDIUM

CVE-2026-34871

Published: 2026-04-01 19:16:33
Last Modified: 2026-04-06 14:30:18

Description

An issue was discovered in Mbed TLS before 3.6.6 and 4.x before 4.1.0 and TF-PSA-Crypto before 1.1.0. There is a Predictable Seed in a Pseudo-Random Number Generator (PRNG).

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:arm:mbed_tls:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:arm:tf-psa-crypto:*:*:*:*:*:*:*:* - VULNERABLE
Mbed TLS < 3.6.6
Mbed TLS 4.0.0 <= 4.x < 4.1.0
TF-PSA-Crypto < 1.1.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
/* * PoC Concept for CVE-2026-34871: Predictable Seed in PRNG * This C code demonstrates the consequence of a predictable seed (e.g., time) in a PRNG. * If Mbed TLS uses a predictable seed, the output sequence becomes reproducible. */ #include <stdio.h> #include <stdlib.h> #include <time.h> void simulate_vulnerable_prng() { // Scenario: Using system time as a seed (Predictable) unsigned int predictable_seed = (unsigned int)time(NULL); printf("[+] Using predictable seed: %u\n", predictable_seed); srand(predictable_seed); printf("[+] Generated Random Numbers: "); for (int i = 0; i < 5; i++) { printf("%d ", rand()); } printf("\n"); printf("[!] An attacker knowing the time of generation can reproduce this sequence.\n"); } int main() { simulate_vulnerable_prng(); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-34871", "sourceIdentifier": "[email protected]", "published": "2026-04-01T19:16:33.267", "lastModified": "2026-04-06T14:30:17.607", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "An issue was discovered in Mbed TLS before 3.6.6 and 4.x before 4.1.0 and TF-PSA-Crypto before 1.1.0. There is a Predictable Seed in a Pseudo-Random Number Generator (PRNG)."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "baseScore": 6.7, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.4, "impactScore": 5.2}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-338"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:arm:mbed_tls:*:*:*:*:*:*:*:*", "versionEndExcluding": "3.6.6", "matchCriteriaId": "C8FBFC2E-329D-4274-A952-2D43378B83BD"}, {"vulnerable": true, "criteria": "cpe:2.3:a:arm:tf-psa-crypto:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.1.0", "matchCriteriaId": "7F85529C-03C6-44F4-9242-372DCDF0B52C"}]}]}], "references": [{"url": "https://mbed-tls.readthedocs.io/en/latest/security-advisories/", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2026-03-dev-random/", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}