CVE-2026-112041
Received Received - Intake

Weak PRNG in Diem Project's dmString Component

Vulnerability report for CVE-2026-112041, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-19

Last updated on: 2026-10-19

Assigner: VulDB

Description

A vulnerability was identified in diem-project diem up to 116974edfb9a5b8bd69cb13586dc62bcdbb485ad. This vulnerability affects the function dmString::random of the file dmCorePlugin/lib/basic/dmString.php. Such manipulation leads to cryptographically weak prng. The attack may be performed from remote. A high complexity level is associated with this attack. It is stated that the exploitability is difficult. The exploit is publicly available and might be used. This product utilizes a rolling release system for continuous delivery, and as such, version information for affected or updated releases is not disclosed. The project was informed of the problem early through an issue report but has not responded yet.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-19
Last Modified
2026-10-19
Generated
2026-10-19
AI Q&A
2026-10-19
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
diem-project diem 116974edfb9a5b8bd69cb13586dc62bcdbb485ad

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-331 The product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values that are more likely to occur than others.
CWE-338 The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability involves insecure generation of tokens in the Diem project due to the use of PHP's rand() function, which is not cryptographically secure. This makes tokens predictable. Even MD5 wrapping does not fix this issue. Affected functions include those in dmString.php and dmUserActions.class.php for token generation, and dmSecurityUser.class.php and dmRememberMeFilter.class.php for handling.

Detection Guidance

Check for the presence of the affected files and functions in your Diem installation. Search for uses of PHP's rand() function in dmString.php, dmUserActions.class.php, dmSecurityUser.class.php, and dmRememberMeFilter.class.php. Review token generation logic for password-reset and remember-me tokens.

Impact Analysis

An attacker could predict or recover the PRNG state to derive valid tokens, allowing them to reset passwords or gain unauthorized access to accounts. The risk is higher on older PHP versions where PRNG state manipulation is easier. The exploit is publicly available and may be used remotely.

Compliance Impact

This vulnerability may lead to unauthorized account access or password resets due to weak token generation, which could violate GDPR's data protection requirements for secure authentication and HIPAA's safeguards for protected health information access controls.

Mitigation Strategies

Replace PHP's rand() function with cryptographically secure alternatives like random_int() or openssl_random_pseudo_bytes(). Update the token generation logic in the affected files to use secure PRNG methods. Consider upgrading PHP to a newer version where PRNG manipulation is harder.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-112041. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart