graphite2: SEGV near null in [@graphite2::Segment::justify]

RESOLVED FIXED

Status

()

Core
Graphics: Text
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: tsmith, Unassigned)

Tracking

(Blocks: 1 bug, 4 keywords)

unspecified
crash, csectype-nullptr, sec-audit, testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox45 disabled, firefox46 fixed, firefox47 fixed, firefox48 fixed, firefox-esr3846+ disabled, firefox-esr4546+ disabled)

Details

Attachments

(1 attachment)

55.94 KB, application/x-font-ttf
Details
(Reporter)

Description

2 years ago
Created attachment 8735630 [details]
test_case.ttf

This was found while fuzzing graphite2 revision c1c491ecf937aa744f4803e3d3a24e4f0001025d (>1.3.7)

I do not believe this affects Firefox but if I am wrong please let me know.

To reproduce run:
./gr2fonttest test_case.ttf -auto -j 10

==61121==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000018 (pc 0x7f8259ab96a7 bp 0x7ffcc6752060 sp 0x7ffcc6751ee0 T0)
    #0 0x7f8259ab96a6 in graphite2::Slot::before() const /home/user/code/graphite/src/inc/Slot.h:78:33
    #1 0x7f8259ab96a6 in graphite2::Segment::justify(graphite2::Slot*, graphite2::Font const*, float, graphite2::justFlags, graphite2::Slot*, graphite2::Slot*) /home/user/code/graphite/src/Justifier.cpp:105
    #2 0x7f8259a66903 in gr_seg_justify /home/user/code/graphite/src/gr_segment.cpp:167:12
    #3 0x4e7e61 in Parameters::testFileFont() const /home/user/code/graphite/gr2fonttest/gr2FontTest.cpp:702:32
    #4 0x4e8f7f in main /home/user/code/graphite/gr2fonttest/gr2FontTest.cpp:797:9
    #5 0x7f82596a8ec4 in __libc_start_main /build/eglibc-3GlaMS/eglibc-2.19/csu/libc-start.c:287
    #6 0x41a5a5 in _start (/home/user/Desktop/graphite/gr2fonttest+0x41a5a5)

Comment 1

2 years ago
Fixed? in 3ac24fb4ac13de4b61d3741abb1846bfb5e71e0e. This bug could not trigger in firefox.
(Reporter)

Comment 2

2 years ago
Verified with graphite revision 56671221b974024dd96cc9c6f592678ee6d24841
(Reporter)

Updated

2 years ago
Depends on: 1262846
(Reporter)

Updated

2 years ago
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
Group: gfx-core-security → core-security-release
Graphite2 has been updated to 1.3.8 on all the relevant branches including ESRs
status-firefox45: --- → wontfix
status-firefox46: --- → fixed
status-firefox47: --- → fixed
status-firefox48: --- → fixed
status-firefox-esr38: --- → fixed
status-firefox-esr45: --- → fixed
tracking-firefox-esr38: --- → 46+
tracking-firefox-esr45: --- → 46+

Updated

2 years ago
status-firefox45: wontfix → disabled

Updated

2 years ago
status-firefox-esr38: fixed → disabled
status-firefox-esr45: fixed → disabled
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.