Description
The OpenBSD qsort() function is recursive, and not randomized, an attacker can construct a pathological input array of N elements that causes qsort() to deterministically recurse N/4 times. This allows attackers to consume arbitrary amounts of stack memory and manipulate stack memory to assist in arbitrary code execution attacks. This affects OpenBSD 6.1 and possibly earlier versions.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
n/a n/a
n/aaffected
References
- https://www.exploit-db.com/exploits/42271/ ↗
- https://support.apple.com/HT208144 ↗
- https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt ↗
- https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdlib/qsort.c?rev=1.15&content-type=text/x-cvsweb-markup ↗
- http://www.securityfocus.com/bid/99177 ↗
- http://www.securitytracker.com/id/1039427 ↗
- https://support.apple.com/HT208113 ↗
- https://support.apple.com/HT208112 ↗
- https://support.apple.com/HT208115 ↗