The resolveImplicitLevels function in common/ubidi.c in the Unicode Bidirectional Algorithm implementation in ICU4C in International Components for Unicode (ICU) before 55.1 uses an integer data type that is inconsistent with a header file, which allows remote attackers to cause a denial of service (incorrect malloc followed by invalid free) or possibly execute arbitrary code via crafted text.
https://support.apple.com/HT205267
https://support.apple.com/HT205213
https://security.gentoo.org/glsa/201507-04
http://www.securityfocus.com/bid/74457
http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html
https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html
https://raw.githubusercontent.com/pedrib/PoC/master/generic/i-c-u-fail.txt
https://euvd.enisa.europa.eu/vulnerability/EUVD-2014-7989
http://www.oracle.com/technetwork/topics/security/cpuoct2015-2367953.html
http://seclists.org/fulldisclosure/2015/May/14
http://openwall.com/lists/oss-security/2015/05/05/6
http://lists.apple.com/archives/security-announce/2015/Sep/msg00008.html
http://lists.apple.com/archives/security-announce/2015/Sep/msg00005.html