Closed Bug 1565614 Opened 6 years ago Closed 6 years ago

lodash vulnerability in shipped versions Firefox

Categories

(Firefox :: PDF Viewer, defect, P2)

68 Branch
defect

Tracking

()

RESOLVED FIXED
Firefox 72
Tracking Status
firefox-esr68 --- wontfix
firefox71 --- wontfix
firefox72 --- fixed

People

(Reporter: hwine, Unassigned)

References

Details

(Keywords: csectype-priv-escalation, sec-other, Whiteboard: [third-party-lib-shipping][adv-main72-][post-critsmash-triage])

Attachments

(2 files)

CVE-2019-10744 rated severity High -- unknown if exploitable in desktop

Best description at time of filing is the lodash fix

Also: dependabot created a fix, but it could not completely apply. See PDF.js security alerts for more details.

Whiteboard: [third-party-lib-shipping]
Attached image 1/2

Error message 1/2

Attached image 2/2 error message

(In reply to Paul Theriault [:pauljt] (needinfo pls) from comment #1)

Looks like the fix is already merged? https://github.com/mozilla/pdf.js/pull/10964/files

Part of it, yes. I just uploaded the 2 remaining error messages from the PDF.js security alerts page. The remaining issue is with lodash.template.

(In reply to Hal Wine [:hwine] (use NI, please) from comment #4)

Part of it, yes. I just uploaded the 2 remaining error messages from the PDF.js security alerts page. The remaining issue is with lodash.template.

I can't access this alerts page do you mean we updated one package, but there is a lodash.template package which is not updated?

(Re: the rating Dan applied:)

I very much doubt this is sec-high or priv-esc. Per the advisory:

Remote code execution is generally only possible in cases where the codebase evaluates a specific attribute of an object, and then executes that evaluation.

I mean its possible, but I had a quick skim and I couldn't see any eval usage like this (and i'd be inclined to call this eval usage dangerous regardless of the lodash issue) . Not to say we shouldn't fix, but sec-high feels overblown here. But I can't say for certain that we DON'T do something terrible like this, so I guess we could stick with the conservative. I couldn't actually find any of the unsafe functions actually used from a quick skim.

For reference here is a LGTM query looking for calls to a function named "merge" in pdf.js: https://lgtm.com/query/4666792578740743474/
The only calls I see are to Dict.merge which is not lodash. Still, we should still update if we havent already.

(In reply to Paul Theriault [:pauljt] (needinfo pls) from comment #5)

(In reply to Hal Wine [:hwine] (use NI, please) from comment #4)

Part of it, yes. I just uploaded the 2 remaining error messages from the PDF.js security alerts page. The remaining issue is with lodash.template.

I can't access this alerts page do you mean we updated one package, but there is a lodash.template package which is not updated?

Correct. And that is still the case as of now.

As near as I can tell, there is some sort of dependency conflict that a developer will need to resolve.

Can someone set a priority on this? For some reason I'm getting bugged about it.

Flags: needinfo?(bdahl)

Sorry, just finally got CCed on this. Lodash is only used by babel to compile for non-firefox versions, so I don't think this was really an issue. I'll update it anyways here in a bit.

Flags: needinfo?(bdahl)
Priority: -- → P2

Brendan is this something you can help resolve? Thanks!

Flags: needinfo?(bdahl)

The package with the security vulnerability is used by another package that appears to be abandoned by the author. It doesn't look like the security vulnerability is actually an issue for how it's used, but I've filed a bug upstream with pdf.js to remove the dependency.

Flags: needinfo?(bdahl)

Since this doesn't affect the built in version of pdf.js I'm moving this to sec-other.

Keywords: sec-highsec-other
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Depends on: 1598435
Target Milestone: --- → Firefox 72
Whiteboard: [third-party-lib-shipping] → [third-party-lib-shipping][adv-main72-]
Group: firefox-core-security → core-security-release
Flags: qe-verify-
Whiteboard: [third-party-lib-shipping][adv-main72-] → [third-party-lib-shipping][adv-main72-][post-critsmash-triage]
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: