In comparison, the https://en.wikipedia.org/w/api.php?modules=setnotificationtimestamp module which does the same thing does require a token.
Description
Details
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | • demon | T161996 Release MediaWiki 1.28.1/1.27.2/1.23.16 | |||
Resolved | Reedy | T140591 MediaWiki 1.28.1/1.27.2/1.23.16 security release | |||
Resolved | matmarex | T150044 "Mark all pages visited" on the watchlist does not require a CSRF token |
Event Timeline
Patch looks fine from a security perspective, but maybe we should show the session failure error message if the token matching fails?
I'm not sure if it's worth adding more ugly error messages about sessions. But that can be done later as non-security patch.
What do I put in T160876 for the flaw and the exploit for this one? May just be that I'm tired, and it's late, but I'm coming up blank
Flaw: Special:Watchlist did not check the CSRF token.
Exploit: an user B who tricked another user A into visiting their external website could mark all pages on A's watchlist as "visited", making it more difficult for them to notice changes to pages and revert vandalism.
Closing for ease of tracking progress. Patches attached to parent bug, due for next release
Change 346842 merged by jenkins-bot:
[mediawiki/core@master] SECURITY: SpecialWatchlist: Check CSRF token when using "Mark all pages visited"
Change 346861 merged by jenkins-bot:
[mediawiki/core@REL1_28] SECURITY: SpecialWatchlist: Check CSRF token when using "Mark all pages visited"
Change 346851 merged by jenkins-bot:
[mediawiki/core@REL1_27] SECURITY: SpecialWatchlist: Check CSRF token when using "Mark all pages visited"
Change 347036 had a related patch set uploaded (by Chad; owner: Bartosz Dziewoński):
[mediawiki/core@wmf/1.29.0-wmf.19] SECURITY: SpecialWatchlist: Check CSRF token when using "Mark all pages visited"
Change 347036 merged by jenkins-bot:
[mediawiki/core@wmf/1.29.0-wmf.19] SECURITY: SpecialWatchlist: Check CSRF token when using "Mark all pages visited"