Servers and applications
CVE-2026-100290
Double free after allocation failure in regcomp and regexec
- Severity
- Low 3.7
- Published
- 11 Nov 2026
- Last changed
- 11 Nov 2026
- Added to UpHeron
- 11 Nov 2026
- Weakness
- Double free (CWE-415)
- Attack
- Over the network · Only under certain conditions · No login needed · No user action needed
- Attacker can
- Slow it down
- CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L- Sources
- CVE Program
Description
The regcomp and regexec functions in the GNU C Library version 2.3 to version 2.44 may read freed memory and free the same heap block twice when a memory allocation fails while a regular expression is compiled or matched. The re_dfa_add_node (the NFA node table) and build_range_exp (bracket ranges) grow several arrays with consecutive realloc calls and store the new pointers only after all of them succeed. When a later call fails, the pattern buffer keeps pointers to blocks that were already freed, and the error cleanup frees them again. In regexec, the back-reference cache (match_ctx_add_entry) frees its array when a realloc fails but keeps the pointer, which is freed again on the error path.
An attacker does not need to supply a crafted regular expression: patterns large enough to grow these arrays are common. The failure has to hit a specific allocation, though, so the issue can only be reached when the system is already under memory pressure.
Affected software
| Software | Affected versions |
|---|---|
GNU C LibraryServers and applications · cna:the gnu c library|glibc |
|
References
- CVE.org https://www.cve.org/CVERecord?id=CVE-2026-100290