c-ares is an asynchronous resolver library. When /dev/urandom or RtlGenRandom() are unavailable, c-ares uses rand() to generate random numbers used for DNS query ids. This is not a CSPRNG, and it is also not seeded by srand() so will generate predictable output. Input from the random number generator is fed into a non-compilant RC4 implementation and may not be as strong as the original RC4 implementation. No attempt is made to look for modern OS-provided CSPRNGs like arc4random() that is widely available. This issue has been fixed in version 1.19.1.
Metrics
Affected Vendors & Products
References
History
No history.
MITRE
Status: PUBLISHED
Assigner: GitHub_M
Published: 2023-05-25T21:55:47.585Z
Updated: 2024-08-02T14:45:25.630Z
Reserved: 2023-04-24T21:44:10.418Z
Link: CVE-2023-31147
Vulnrichment
No data.
NVD
Status : Analyzed
Published: 2023-05-25T22:15:09.833
Modified: 2023-10-31T16:06:05.103
Link: CVE-2023-31147
Redhat