googlefonts / googlefonts/fontations

Audit for code that can lead to excessive runtime with malicious/malformed data

Open
#952 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
826
Forks
75
Avg merge
22h 33m
Merged PRs (30d)
75

Description

Specifically cases where we loop based on untrusted counts and/or iterate over ranges where the the sizes aren't bounded by data and thus caught during parsing.

For example, the [iterator for cmap format 12](https://github.com/googlefonts/fontations/blob/7c6115a66d143e9f885438fa7d5231ca87c15240/read-fonts/src/tables/cmap.rs#L221) can be forced to do 2^32 iterations _n_ times where cost is only `n * 12` bytes of malicious data.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.