{"id":"ASB-A-170968514", "published":"2021-01-01T00:00:00Z", "modified":"2026-05-01T15:24:27.653932157Z", "aliases":["CVE-2021-0313", "A-170968514"], "details":"In isWordBreakAfter of LayoutUtils.cpp, there is a possible way to slow or crash a TextView due to improper input validation. This could lead to remote denial of service with no additional execution privileges needed. User interaction is not needed for exploitation.", "affected":[{"package":{"name":"platform/frameworks/minikin", "ecosystem":"Android"}, "ranges":[{"type":"ECOSYSTEM", "events":[{"introduced":"8.0:0"}, {"fixed":"8.0:2021-01-01"}]}], "versions":["8.0"], "ecosystem_specific":{"fixes":["https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349"], "severity":"Critical", "spl":"2021-01-01", "types":["DoS"], "vanir_signatures":[{"deprecated":false, "digest":{"function_hash":"77199152967563880133127078149246770736", "length":155}, "id":"ASB-A-170968514-36cd12b7", "signature_type":"Function", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp", "function":"isWordBreakAfter"}}, {"deprecated":false, "digest":{"line_hashes":["284235645884377277334911639850463629827", "289554550184100760855821583177728481305", "119258988697698457769296765622298402469", "147242531554428115735251375970441656677"], "threshold":0.9}, "id":"ASB-A-170968514-c7f65a2d", "signature_type":"Line", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp"}}]}}, {"package":{"name":"platform/frameworks/minikin", "ecosystem":"Android"}, "ranges":[{"type":"ECOSYSTEM", "events":[{"introduced":"8.1:0"}, {"fixed":"8.1:2021-01-01"}]}], "versions":["8.1"], "ecosystem_specific":{"fixes":["https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349"], "severity":"Critical", "spl":"2021-01-01", "types":["DoS"], "vanir_signatures":[{"deprecated":false, "digest":{"function_hash":"77199152967563880133127078149246770736", "length":155}, "id":"ASB-A-170968514-41a8bdf1", "signature_type":"Function", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp", "function":"isWordBreakAfter"}}, {"deprecated":false, "digest":{"line_hashes":["284235645884377277334911639850463629827", "289554550184100760855821583177728481305", "119258988697698457769296765622298402469", "147242531554428115735251375970441656677"], "threshold":0.9}, "id":"ASB-A-170968514-657ac47e", "signature_type":"Line", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp"}}]}}, {"package":{"name":"platform/frameworks/minikin", "ecosystem":"Android"}, "ranges":[{"type":"ECOSYSTEM", "events":[{"introduced":"9:0"}, {"fixed":"9:2021-01-01"}]}], "versions":["9"], "ecosystem_specific":{"fixes":["https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349"], "severity":"Critical", "spl":"2021-01-01", "types":["DoS"], "vanir_signatures":[{"deprecated":false, "digest":{"function_hash":"77199152967563880133127078149246770736", "length":155}, "id":"ASB-A-170968514-97529edb", "signature_type":"Function", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp", "function":"isWordBreakAfter"}}, {"deprecated":false, "digest":{"line_hashes":["284235645884377277334911639850463629827", "289554550184100760855821583177728481305", "119258988697698457769296765622298402469", "147242531554428115735251375970441656677"], "threshold":0.9}, "id":"ASB-A-170968514-9a2032cc", "signature_type":"Line", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp"}}]}}, {"package":{"name":"platform/frameworks/minikin", "ecosystem":"Android"}, "ranges":[{"type":"ECOSYSTEM", "events":[{"introduced":"10:0"}, {"fixed":"10:2021-01-01"}]}], "versions":["10"], "ecosystem_specific":{"fixes":["https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349"], "severity":"Critical", "spl":"2021-01-01", "types":["DoS"], "vanir_signatures":[{"deprecated":false, "digest":{"line_hashes":["284235645884377277334911639850463629827", "289554550184100760855821583177728481305", "119258988697698457769296765622298402469", "147242531554428115735251375970441656677"], "threshold":0.9}, "id":"ASB-A-170968514-41fab337", "signature_type":"Line", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp"}}, {"deprecated":false, "digest":{"function_hash":"77199152967563880133127078149246770736", "length":155}, "id":"ASB-A-170968514-ddc43c0b", "signature_type":"Function", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp", "function":"isWordBreakAfter"}}]}}, {"package":{"name":"platform/frameworks/minikin", "ecosystem":"Android"}, "ranges":[{"type":"ECOSYSTEM", "events":[{"introduced":"11:0"}, {"fixed":"11:2021-01-01"}]}], "versions":["11"], "ecosystem_specific":{"fixes":["https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349"], "severity":"Critical", "spl":"2021-01-01", "types":["DoS"], "vanir_signatures":[{"deprecated":false, "digest":{"function_hash":"77199152967563880133127078149246770736", "length":155}, "id":"ASB-A-170968514-0c9c19e2", "signature_type":"Function", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp", "function":"isWordBreakAfter"}}, {"deprecated":false, "digest":{"line_hashes":["284235645884377277334911639850463629827", "289554550184100760855821583177728481305", "119258988697698457769296765622298402469", "147242531554428115735251375970441656677"], "threshold":0.9}, "id":"ASB-A-170968514-f8c98187", "signature_type":"Line", "signature_version":"v1", "source":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349", "target":{"file":"libs/minikin/LayoutUtils.cpp"}}]}}], "references":[{"type":"ADVISORY", "url":"https://source.android.com/security/bulletin/2021-01-01"}, {"type":"FIX", "url":"https://android.googlesource.com/platform/frameworks/minikin/+/ffb33bcf2520208166cb29f47c60add9c0e37349"}]}