You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What kind of crx is affected by this change? (component, extensions)
If we revert it what will be broken?
Do we use crx2 or crx3 for our components right now?
Why does Google uses CRX3_WITH_PUBLISHER_PROOF for components? Just in case? At first sight for components the publisher is equal to the extension owner (Google) therefore checking the main signature should be enough.
Is it complicated to add our publisher signature to the code in addition to google one?
Only components are affected. For extensions, publisher proof checking is enabled. To make sure I repacked an extension from Chrome Store - it can't be installed in Brave with the error crx_required_proof_missing(see the screenshot)
All of our components will stop installing/updating. If we use some Google components as it - they will work.
They did it in a bunch for all systems using CRX. Reason: a possible SHA-1 collision (which get the possibility for an attacker to make a valid extension with the given id, but different public_key/content)
We should add 2 simple patches:
a) add a public key hash here;
b) add found_publisher_key = found_publisher_key || key_hash == brave_publisher_keyhere.
I can't find any tool to do in out-of-the-box, but it should be simple: to add one more item with signature to the protobuf message.
Also, components can be installed only from browser code by downloading it from the backend over HTTPS (extensions can be installed using a filesystem or other untrusted sources).
Therefore to replace the content not only SHA-1 collision is required but also the ability to modify HTTPS traffic.
Test file: https://github.com/brave/brave-browser/files/7941406/crx3_from_chrome_store_without_publisher_proof.crx.zip
It was done 4 years ago in brave/brave-core#369
Slack discussion: https://bravesoftware.slack.com/archives/C8MP8ME4C/p1643116065059900
Related issue: #873
The text was updated successfully, but these errors were encountered: