From d38360397609d2f3d2dd115bcb0f58d10a1bb4a3 Mon Sep 17 00:00:00 2001 From: Ebrahim Byagowi Date: Mon, 2 Mar 2020 22:41:08 +0330 Subject: [PATCH] Limit OT::Lookup subtables (#2219) Fixes https://crbug.com/oss-fuzz/13943 --- src/hb-ot-layout-common.hh | 7 +++++-- src/hb-sanitize.hh | 13 +++++++++++-- ...-minimized-hb-shape-fuzzer-5666162551029760 | Bin 0 -> 202319 bytes 3 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5666162551029760 diff --git a/src/hb-ot-layout-common.hh b/src/hb-ot-layout-common.hh index 8c8313a9b..606a9855a 100644 --- a/src/hb-ot-layout-common.hh +++ b/src/hb-ot-layout-common.hh @@ -1097,6 +1097,10 @@ struct Lookup { TRACE_SANITIZE (this); if (!(c->check_struct (this) && subTable.sanitize (c))) return_trace (false); + + unsigned subtables = get_subtable_count (); + if (unlikely (!c->visit_subtables (subtables))) return_trace (false); + if (lookupFlag & LookupFlag::UseMarkFilteringSet) { const HBUINT16 &markFilteringSet = StructAfter (subTable); @@ -1119,8 +1123,7 @@ struct Lookup * https://bugs.chromium.org/p/chromium/issues/detail?id=960331 */ unsigned int type = get_subtable (0).u.extension.get_type (); - unsigned int count = get_subtable_count (); - for (unsigned int i = 1; i < count; i++) + for (unsigned int i = 1; i < subtables; i++) if (get_subtable (i).u.extension.get_type () != type) return_trace (false); } diff --git a/src/hb-sanitize.hh b/src/hb-sanitize.hh index 310e2fcf0..8f6453bf6 100644 --- a/src/hb-sanitize.hh +++ b/src/hb-sanitize.hh @@ -113,6 +113,9 @@ #ifndef HB_SANITIZE_MAX_OPS_MAX #define HB_SANITIZE_MAX_OPS_MAX 0x3FFFFFFF #endif +#ifndef HB_SANITIZE_MAX_SUTABLES +#define HB_SANITIZE_MAX_SUTABLES 0x4000 +#endif struct hb_sanitize_context_t : hb_dispatch_context_t @@ -120,7 +123,7 @@ struct hb_sanitize_context_t : hb_sanitize_context_t () : debug_depth (0), start (nullptr), end (nullptr), - max_ops (0), + max_ops (0), max_subtables (0), writable (false), edit_count (0), blob (nullptr), num_glyphs (65536), @@ -134,6 +137,12 @@ struct hb_sanitize_context_t : static return_t no_dispatch_return_value () { return false; } bool stop_sublookup_iteration (const return_t r) const { return !r; } + bool visit_subtables (unsigned count) + { + max_subtables += count; + return max_subtables < HB_SANITIZE_MAX_SUTABLES; + } + private: template auto _dispatch (const T &obj, hb_priority<1>, Ts&&... ds) HB_AUTO_RETURN @@ -380,7 +389,7 @@ struct hb_sanitize_context_t : mutable unsigned int debug_depth; const char *start, *end; - mutable int max_ops; + mutable int max_ops, max_subtables; private: bool writable; unsigned int edit_count; diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5666162551029760 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5666162551029760 new file mode 100644 index 0000000000000000000000000000000000000000..fb27d423ab480a542ab4d2673ffb95a8438f70c9 GIT binary patch literal 202319 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

Lc0*{ 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 AMF0Q* literal 0 HcmV?d00001