The ucnv_UTF8FromUTF8 function in ucnv_u8.cpp in International Components for Unicode (ICU) for C/C++ through 60.1 mishandles ucnv_convertEx calls for UTF-8 to UTF-8 conversion, which allows remote attackers to cause a denial of service (stack-based buffer overflow and application crash) or possibly have unspecified other impact via a crafted string, as demonstrated by ZNC.
The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data.
Link | Tags |
---|---|
https://ssl.icu-project.org/trac/ticket/13490 | issue tracking vendor advisory |
https://ssl.icu-project.org/trac/changeset/40714 | issue tracking patch vendor advisory |
https://github.com/znc/znc/issues/1459 | issue tracking third party advisory |
https://ssl.icu-project.org/trac/attachment/ticket/13490/poc.cpp | exploit vendor advisory |
https://ssl.icu-project.org/trac/ticket/13510 | issue tracking vendor advisory |
https://ssl.icu-project.org/trac/changeset/40715 | issue tracking vendor advisory |
https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html |