The token comparison in ApiBase::getWatchlistUser() isn't constant time, so timing attack is theoretically possible.
Patch:
- 1.25 - same as master ( )
- 1.24 - same as master ( )
- 1.23 - (include hash_equals)
Affected Versions:
Type: csrf
• csteipp | |
Mar 26 2015, 11:02 PM |
F1186925: 0001-SECURITY-API-Use-constant-time-comparison-for-watchl.patch | |
Aug 10 2015, 7:38 PM |
F106084: 0001-SECURITY-API-Use-constant-time-comparison-for-watchl.patch | |
Mar 27 2015, 3:53 PM |
The token comparison in ApiBase::getWatchlistUser() isn't constant time, so timing attack is theoretically possible.
Patch:
Affected Versions:
Type: csrf
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Restricted Task | |||||
Resolved | Anomie | T94116 Api watchlist token should be compared in constant time |
+1.
The hash_equals fallback was only added in 1.24 (b9e1d5f5c066a26f115eac69e268a98e6591d121), so it'll also have to be backported to 1.23 and 1.19...
Slipped off my radar. Patch looks good to me.
@mmodell, can you deploy this and confirm when it's on the cluster?
Patch for REL1_23 that includes backport of hash_equals(). Existing patch above already applies cleanly to 1.24, 1.25 and master.
Change 230665 had a related patch set uploaded (by Chad):
SECURITY: API: Use constant-time comparison for watchlist token
Change 230669 had a related patch set uploaded (by Chad):
SECURITY: API: Use constant-time comparison for watchlist token
Change 230673 had a related patch set uploaded (by Chad):
SECURITY: API: Use constant-time comparison for watchlist token
Change 230673 merged by jenkins-bot:
SECURITY: API: Use constant-time comparison for watchlist token
Change 230669 merged by jenkins-bot:
SECURITY: API: Use constant-time comparison for watchlist token
Change 230665 merged by jenkins-bot:
SECURITY: API: Use constant-time comparison for watchlist token
Change 230774 had a related patch set uploaded (by Chad):
SECURITY: API: Use constant-time comparison for watchlist token
Change 230774 merged by jenkins-bot:
SECURITY: API: Use constant-time comparison for watchlist token