c-ares is a C library for asynchronous DNS requests. ares__read_line()
is used to parse local configuration files such as /etc/resolv.conf
, /etc/nsswitch.conf
, the HOSTALIASES
file, and if using a c-ares version prior to 1.27.0, the /etc/hosts
file. If any of these configuration files has an embedded NULL
character as the first character in a new line, it can lead to attempting to read memory prior to the start of the given buffer which may result in a crash. This issue is fixed in c-ares 1.27.0. No known workarounds exist.
{ "vanir_signatures": [ { "id": "CVE-2024-25629-1f2cd1f1", "digest": { "length": 761.0, "function_hash": "57112257550967704162705773570935872858" }, "target": { "function": "ares__read_line", "file": "src/lib/ares__read_line.c" }, "signature_version": "v1", "source": "https://github.com/c-ares/c-ares/commit/a804c04ddc8245fc8adf0e92368709639125e183", "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-25629-5aa2ab7e", "digest": { "line_hashes": [ "182071347134682389267543468916879866151", "172976239659837282304687908239947502217", "265973271304584275805104067973476691766", "308893332016198751064638464970499917241" ], "threshold": 0.9 }, "target": { "file": "src/lib/ares__read_line.c" }, "signature_version": "v1", "source": "https://github.com/c-ares/c-ares/commit/a804c04ddc8245fc8adf0e92368709639125e183", "deprecated": false, "signature_type": "Line" } ] }