Heap-based buffer overread caused by specially crafted input triggering infinite loop in pcretest.c was found affecting pcre 8.38. pcretest went into loop if global matching was requested with an ovector size less than 2. Upstream bug: https://bugs.exim.org/show_bug.cgi?id=1777 Upstream patch: http://vcs.pcre.org/pcre?view=revision&revision=1637 CVE request: http://seclists.org/oss-sec/2016/q1/460
Acknowledgments: Name: Adam Mariš (Red Hat)
Created pcre tracking bugs for this issue: Affects: fedora-all [bug 1312786]
Created glib2 tracking bugs for this issue: Affects: fedora-all [bug 1312789]
Created mingw-glib2 tracking bugs for this issue: Affects: fedora-all [bug 1312791] Affects: epel-7 [bug 1312794]
Created mingw-pcre tracking bugs for this issue: Affects: fedora-all [bug 1312788] Affects: epel-7 [bug 1312793]
Minimal reproducer is: //G \O1
pcre-8.38-6.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
pcre-8.38-3.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
This is similar to bug 1285413 comment 7 and not relevant / security for the same reasons - pcretest is an application used for testing the pcre library. It offers ways to use the library in ways that are incorrect with respect to the documented API. Additionally, as this flaw is in the pcretest application, components that embed the pcre library while not using pcretest (e.g. glib2 mentioned above) could not have been affected. Upstream version 8.13 is the first where infinite loop is triggered, valgrind reports "Conditional jump or move depends on uninitialised value(s)" error in earlier versions.