CVE-2023-31124: AutoTools does not set CARES_RANDOM_FILE during cross compilation
c-ares is an asynchronous resolver library. When cross-compiling c-ares and using the autotools build system, CARESRANDOMFILE will not be set, as seen when cross compiling aarch64 android. This will downgrade to using rand() as a fallback which could allow an attacker to take advantage of the lack of entropy by not using a CSPRNG. This issue was patched in version 1.19.1.
Other sources
When cross-compiling c-ares and using the autotools build system, CARESRANDOMFILE will not be set, as seen when cross compiling aarch64 android. This will downgrade to using rand() as a fallback which could allow an attacker to take advantage of the lack of entropy by not using a CSPRNG.
CVE-2023-31124. Low. AutoTools does not set CARESRANDOMFILE during cross compilation (https://github.com/c-ares/c-ares/security/advisories/GHSA-54xr-f67r-4pc4)
— Red Hat
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
c-aresto a version that resolves this vulnerability.Fixed in 1.19.1 - Configuration
When cross-compiling, set the CARES_RANDOM_FILE environment variable during the build to point to a reliable source of entropy so c-ares does not fallback to rand().
autotools / c-ares build system CARES_RANDOM_FILE = path to a reliable entropy source (e.g. system random device)
Event History
Frequently Asked Questions
What is CVE-2023-31124?
CVE-2023-31124 is a vulnerability in the c-ares asynchronous resolver library that downgrades to using rand() as a fallback, allowing an attacker to take advantage of the lack of randomness in cryptographic keys.
What is the severity of CVE-2023-31124?
CVE-2023-31124 has a severity level of medium, with a CVSS score of 6.5.
What software versions are affected by CVE-2023-31124?
Versions up to and excluding 1.19.1 of the c-ares library and Fedora versions 37 and 38 are affected by CVE-2023-31124.
How can an attacker exploit CVE-2023-31124?
An attacker can exploit CVE-2023-31124 by taking advantage of the lack of randomness in cryptographic keys generated by the fallback rand() function.
Where can I find more information about CVE-2023-31124?
You can find more information about CVE-2023-31124 at the following references: [Red Hat Security Advisory](https://access.redhat.com/security/cve/CVE-2023-31124), [GitHub Security Advisory](https://github.com/c-ares/c-ares/security/advisories/GHSA-54xr-f67r-4pc4), [Bugzilla](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=2209542).