Due to incorrect use of integer types and missing overflow checks in the tre_tnfa_run_parallel function's buffer overflow logic, the TRE regex implementation (both original version and the one used in musl libc) are subject to integer overflows in buffer size computation. If the caller passes to regcomp a regular expression whose internal representation requires a large number of states and/or a large number of tags, too little space will be allocated during regexec, resulting in out-of-bound memory writes. An attacker who controls the regular expression and/or the string being searched can potentially exploit these writes to achieve controlled heap corruption. References: http://seclists.org/oss-sec/2016/q4/183
Created tre tracking bugs for this issue: Affects: fedora-all [bug 1387113] Affects: epel-all [bug 1387114]
tre-0.8.0-18.20140228gitc2f5d13.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.