Closed Bug 1810790 Opened 2 years ago Closed 2 years ago

libprio could potentially allow a malicious client to corrupt the statistics that the system outputs

Categories

(Toolkit :: General, defect)

defect

Tracking

()

RESOLVED FIXED
111 Branch
Tracking Status
firefox111 --- fixed

People

(Reporter: rhelmer, Assigned: simonf)

References

Details

Attachments

(1 file)

I received this report and patch from Henry Corrigan-Gibbs via email:

While looking back at the code for the libprio C library,
I noticed a security-relevant logic bug in the servers'
validation logic.

In particular, the bug could potentially allow a malicious
client to corrupt the statistics that the system outputs. So,
it's security-relevant, but is probably low impact -- it just
affects the correctness of the statistics and doesn't involve
memory errors or anything like that.

As far as I can tell, the bug does not affect libprio-rs.

The current version of Prio is based on the pilot C library https://github.com/mozilla/libprio which is vendored in mozilla-central (we haven't switched to the Rust version yet https://github.com/divviup/libprio-rs).

I'm not sure if we're actively using the C version of libprio in Firefox, we should consider removing it and moving to libprio-rs instead if there are plans to use it in the future.

Otherwise, we should probably ship the fix in Firefox before disclosing it in GitHub (it's also used by backend tooling, where this patch probably isn't relevant).

Do you know of any plans to use the C version of libprio? How would you feel about removing it?

Flags: needinfo?(chutten)

To my knowledge any existing use of the C library can be discontinued as current efforts aren't engaging with it (though content blocking may need to be asked if they're receiving and using the data from Origin Telemetry). Simon, is this correct?

Flags: needinfo?(chutten) → needinfo?(sfriedberger)

Yes, we're now already using the Rust version libprio-rs. We should try to remove the C library from mozilla-central, I think.

Flags: needinfo?(sfriedberger)

Makes sense to me!

Rob, should we add a note to the mozilla/libprio repository saying that we're no longer patching security bugs for it?

Flags: needinfo?(rhelmer)
Group: firefox-core-security → mozilla-employee-confidential
Assignee: nobody → sfriedberger
Status: NEW → ASSIGNED
Group: mozilla-employee-confidential

(In reply to Henry Corrigan-Gibbs [:henrycg] from comment #4)

Makes sense to me!

Rob, should we add a note to the mozilla/libprio repository saying that we're no longer patching security bugs for it?

Yes I will do this and also archive it.

Flags: needinfo?(rhelmer)
See Also: → 1813617

Backed out for causing multiple failures

  • Backout link
  • Push with failures
  • Failure Log
  • Failure line: TEST-UNEXPECTED-FAIL | telemetry/marionette/tests/client/test_main_tab_scalars.py TestMainTabScalars.test_main_tab_scalars | AssertionError: Error waiting for ping: Timed out after 60.1 seconds

Xpcshell failures: https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&collapsedPushes=1155668&resultStatus=testfailed%2Cbusted%2Cexception%2Cretry%2Cusercancel&revision=74a3bf4410ea3cdc16fda4100e29d5398d8c3e15&searchStr=xpcshell&selectedTaskRun=WwunEzHqTDi3aRIDBOZgCA.0

Flags: needinfo?(sfriedberger)
Pushed by ctuns@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/30517fbc6b05 Remove Origin Telemetry. r=chutten,timhuang
Flags: needinfo?(sfriedberger)
Pushed by sfriedberger@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/aefea186c9bc Remove Origin Telemetry. r=chutten,timhuang
Flags: needinfo?(sfriedberger)
Pushed by sfriedberger@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/915d96f055b1 Remove Origin Telemetry. r=chutten,timhuang
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch
Blocks: 1791940
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: