WS-2023-0187
June 22, 2023
There are three weaknesses in Brave's FIDO U2F implementation.
At first, u2f.register() can be executed from cross-origin subframe by invoking U2F.postMessage directly
Second issue - FIDO related modals show the name of top frame origin (but not caller subframe)
Third issue - The version parameter sent from the above postMessage is embedded in an evaluateJavaScript without escape
The combination of these weaknesses allows cross-domain subframe to inject any JavaScript code to the top frame through fake U2F registration process.
Related ResourcesĀ (1)
Do you need more information?
Contact UsCVSS v4
Base Score:
5.3
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
PASSIVE
Vulnerable System Confidentiality
LOW
Vulnerable System Integrity
LOW
Vulnerable System Availability
NONE
Subsequent System Confidentiality
LOW
Subsequent System Integrity
LOW
Subsequent System Availability
NONE
CVSS v3
Base Score:
6.1
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
CHANGED
Confidentiality
LOW
Integrity
LOW
Availability
NONE