Closed Bug 1581145 Opened 6 years ago Closed 6 years ago

update sfntly to master

Categories

(Core :: Graphics, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox-esr60 --- wontfix
firefox-esr68 70+ fixed
firefox69 --- wontfix
firefox70 + fixed
firefox71 + fixed

People

(Reporter: froydnj, Assigned: froydnj)

References

Details

(Keywords: sec-high, Whiteboard: [post-critsmash-triage][adv-main70-][adv-esr68.2-])

Attachments

(1 file)

When trying to address some C++17 issues on our aarch64-linux builds, I found that sfntly failed to compile with a more recent libstdc++ due to static_assert violations in libstdc++ code. Investigating a little more, this particular problem had been fixed upstream, along with several other fuzzing-related (ubsan and asan) bugs found by Chromium.

https://bugs.chromium.org/p/chromium/issues/detail?id=699510
https://bugs.chromium.org/p/chromium/issues/detail?id=724890
https://bugs.chromium.org/p/chromium/issues/detail?id=811938

etc.

Rather than cherry-picking fixes, I'd like to update the entire tree in one fell swoop. The sfntly update fixes my build issues:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=bbb8b0f231c852ccf9b0f4a130968d188ac6f890&selectedJob=266544306

This update brings in several bugfixes and compatibility with newer
libstdc++ versions.

Comment on attachment 9092689 [details]
Bug 1581145 - update sfntly to master; r=jfkthame

Security Approval Request

  • How easily could an exploit be constructed based on the patch?: Motivated people can go find the original ASan/UbSan fuzzing testcases, and might be able to construct something out of those.
  • Do comments in the patch, the check-in comment, or tests included in the patch paint a bulls-eye on the security problem?: No
  • Which older supported branches are affected by this flaw?: Everything
  • If not all supported branches, which bug introduced the flaw?: None
  • Do you have backports for the affected branches?: No
  • If not, how different, hard to create, and risky will they be?: They should be straightforward; if the patch doesn't apply as-is, we can just cp in new files from sfntly master.
  • How likely is this patch to cause regressions; how much testing does it need?: I would rate regression potential as low, given the stability of this library and the testing upstream has gone through, but I'm not even a novice about the area the patch touches. Jonathan would be a better judge of that than I would.
Attachment #9092689 - Flags: sec-approval?

ni? to Jonathan for comment 2.

Flags: needinfo?(jfkthame)

In general, I would agree that regression potential is low; this is mostly minor updates to pretty stable code.

However, having said that, I just noticed what I think may be a bug in the new upstream code; I've queried it at https://github.com/googlefonts/sfntly/commit/e24c73130c663c9f329e78f5ca3fd5bd83b02622#r35100304. Might want to see what response we get to that before moving forward here.

Flags: needinfo?(jfkthame)

https://github.com/googlefonts/sfntly has just been updated with a fix for the issue I noticed in comment 4, so you may want to pull that into our copy as well.

Flags: needinfo?(nfroyd)

(In reply to Jonathan Kew (:jfkthame) from comment #5)

https://github.com/googlefonts/sfntly has just been updated with a fix for the issue I noticed in comment 4, so you may want to pull that into our copy as well.

Thank you, updated!

Flags: needinfo?(nfroyd)

Calling this sec-high just to be safe and giving this sec-approval for mozilla-central.

Keywords: sec-high
Attachment #9092689 - Flags: sec-approval? → sec-approval+

https://hg.mozilla.org/mozilla-central/rev/2400f298812b85710e974b93c2ab4bcb726198be

Please nominate this for Beta and ESR68 approval when you get a chance. It grafts cleanly as-landed.

Group: core-security → core-security-release
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(nfroyd)
Resolution: --- → FIXED
Target Milestone: --- → mozilla71

Comment on attachment 9092689 [details]
Bug 1581145 - update sfntly to master; r=jfkthame

Beta/Release Uplift Approval Request

  • User impact if declined: Vulnerable to crashes, security holes, etc.
  • Is this code covered by automated tests?: Unknown
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Minor updates to stable code, cf comment 4.
  • String changes made/needed: None

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration:
  • User impact if declined: Vulnerable to crashes, security holes, etc.
  • Fix Landed on Version: 71
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Minor updates to stable code, cf comment 4.
  • String or UUID changes made by this patch: None
Flags: needinfo?(nfroyd)
Attachment #9092689 - Flags: approval-mozilla-esr68?
Attachment #9092689 - Flags: approval-mozilla-beta?

Comment on attachment 9092689 [details]
Bug 1581145 - update sfntly to master; r=jfkthame

Fixes some bugs in a third-party library. Approved for 70.0b9 and 68.2esr.

Attachment #9092689 - Flags: approval-mozilla-esr68?
Attachment #9092689 - Flags: approval-mozilla-esr68+
Attachment #9092689 - Flags: approval-mozilla-beta?
Attachment #9092689 - Flags: approval-mozilla-beta+
Regressions: 1583192
Flags: qe-verify-
Whiteboard: [post-critsmash-triage]
Whiteboard: [post-critsmash-triage] → [post-critsmash-triage][adv-main70+]
Whiteboard: [post-critsmash-triage][adv-main70+] → [post-critsmash-triage][adv-main70+][adv-esr68.2+]
Whiteboard: [post-critsmash-triage][adv-main70+][adv-esr68.2+] → [post-critsmash-triage][adv-main70-][adv-esr68.2-]
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: