Closed Bug 600034 Opened 14 years ago Closed 14 years ago

Ensure that only add-ons approved by Mozilla Labs are auto-installed

Categories

(Mozilla Labs :: Labs Pack, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Mardak, Assigned: Mardak)

References

Details

Currently the add-on will follow the manifest install rules to find url/xpis to install.
Various notes: before doing addon.install(): addon.addListener({ onDownloadEnded: function() { let cert = addon.certificate; if (cert == null) FAIL; // only allow with cert if (cert.sha1Fingerprint != "labs pubkey") FAIL; // make sure it's labs // maybe additionally check cert.md5Fingerprint ? } }); http://mxr.mozilla.org/mozilla-central/source/security/manager/ssl/public/nsIX509Cert.idl FAIL = addon.cancel(); return false; Note bote cancel and false until bug 599509 is fixed.
Depends on: 599509
Add-on manager will do the cert check to make sure the signatures match up. We're just adding extra logic to make sure the signing was verified by our pubkey.
Instead of signing add-ons, we can sign/verify the manifest that contains hashes of the add-ons being installed. This makes sure Labs Pack only processes instructions coming from Labs and only installs add-ons that matches what was expected.
Summary: Only allow signed add-ons from Mozilla Labs to be auto-installed → Ensure that only add-ons approved by Mozilla Labs are auto-installed
warner pointed out a neat optimization that the manifest shouldn't need to be fetched if the signature is the same.
http://hg.mozilla.org/labs/sigma/rev/5fdf58f823bd Fetch a .sig signature file and use the embedded pubkey to verify that the manifest is from Mozilla. Cache the successful signature to avoid refetching unmodified manifests.
Assignee: nobody → edilee
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Blocks: 602383
Blocks: 602624
You need to log in before you can comment on or make changes to this bug.