Bug 1066649 - (CVE-2017-16231) VUL-1: CVE-2017-16231: pcre: match() stack overflow
(CVE-2017-16231)
VUL-1: CVE-2017-16231: pcre: match() stack overflow
Status: RESOLVED INVALID
Classification: Novell Products
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents
unspecified
Other Other
: P3 - Medium : Minor
: ---
Assigned To: Stephan Kulow
Security Team bot
https://smash.suse.de/issue/194449/
CVSSv2:NVD:CVE-2017-16231:2.1:(AV:L/...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-11-06 12:00 UTC by Victor Pereira
Modified: 2020-04-01 17:00 UTC (History)
3 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
proof of concept to be used with pcretest (23.29 KB, text/plain)
2017-11-06 12:00 UTC, Victor Pereira
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Victor Pereira 2017-11-06 12:00:07 UTC
Created attachment 747250 [details]
proof of concept to be used with pcretest

CVE-2017-16231

after compiling, a pcretest load test PoC produces a crash overflow
in the function match() in pcre_exec.c because of a self-recursive call.



References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-16231
http://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-16231.html
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16231
Comment 1 Andreas Stieger 2018-09-04 11:53:24 UTC
Upstream rejected the issue: https://bugs.exim.org/show_bug.cgi?id=2047

It is very easy to write patterns that have extremely large search trees, and these can consume a lot of time and/or stack in the current implementation of pcre2_match(). There are options (*LIMIT_MATCH) and (*LIMIT_RECURSION) that can be used to limit the amount of stack that is used. The limits can also be set from pcretest and from programs that call the library directly. This is all well documented.



I agree, closing