Commit graph

7763 commits

Author SHA1 Message Date
Kosta Harlan 05da3118aa
Protected variable logs: fallback to accountname if user_name is not set
Why:

- For account creations and account autocreations, the user_name
  property is deliberately unset, to avoid displaying the IP address of
  an unregistered user. Instead, `accountname` is set with the newly
  created account name
- For logging that someone has seen a protected variable value, we need
  to record the username that was seen

What:

- Use `accountname` as a fallback in case `user_name` is not set, when
  logging protected variable access
- Update tests to cover this case.

Bug: T376885
Change-Id: I688a3529fac0ad8455977a0cfdb950f0105f550d
2024-10-21 21:15:51 +02:00
jenkins-bot 8b57be7358 Merge "Give the sysop group protected vars access rights" 2024-10-21 14:17:20 +00:00
Translation updater bot 50ace84768
Localisation updates from https://translatewiki.net.
Change-Id: I977f853b5d747046a38fa2c8394bd820065912f3
2024-10-21 09:19:12 +02:00
Umherirrender 57ecef75c5 Use namespaced classes
Changes to the use statements done automatically via script
Addition of missing use statement done manually

Change-Id: If80031678a474157e4cc78a3d3621dab53aded67
2024-10-19 21:55:40 +02:00
Translation updater bot 8c0255acc3
Localisation updates from https://translatewiki.net.
Change-Id: I48c5c471792b7f11bd59d066086ab5244356e1fb
2024-10-18 09:24:15 +02:00
STran ce79c13031 Give the sysop group protected vars access rights
- Define `abusefilter-protected-vars-log` as an available right as
  it wasn't already
- Give the `sysop` group the `abusefilter-access-protected-vars` and
  `abusefilter-protected-vars-log` rights

Bug: T369610
Change-Id: I44d3824e3d47ad94e8a94e185997c4a8e9d50199
Depends-On: Id8898c17396af0f59ef2d82967e7d85ae4f0cd88
2024-10-17 03:00:32 -07:00
Translation updater bot 594bca41ba
Localisation updates from https://translatewiki.net.
Change-Id: I66b8dbef307cfce96eb6bc5f00815cd38188fc66
2024-10-17 09:20:44 +02:00
Translation updater bot 08910fcf38
Localisation updates from https://translatewiki.net.
Change-Id: I36cb9c9bb8a5665a21d4b33b526360c60397048a
2024-10-15 09:38:49 +02:00
jenkins-bot aaa858f822 Merge "Blocked Domains: Minor tweaks" 2024-10-14 07:37:22 +00:00
Translation updater bot 24439fd5c3
Localisation updates from https://translatewiki.net.
Change-Id: Ie2ac20947bd66742aaa8114112cf266ae2b01a0a
2024-10-14 09:28:01 +02:00
jenkins-bot e9d3f25424 Merge "Add docs, i18n to eslintignore" 2024-10-10 22:38:35 +00:00
Translation updater bot c5dfb16a17
Localisation updates from https://translatewiki.net.
Change-Id: I456f027e7627a7d5706d0c176159f55f1b5c9ad7
2024-10-10 09:20:59 +02:00
Translation updater bot 11901beaed
Localisation updates from https://translatewiki.net.
Change-Id: I8eb4075784d69a24bded10ecfa0822cb64a0e12c
2024-10-08 09:41:15 +02:00
Translation updater bot 9d942c2a74
Localisation updates from https://translatewiki.net.
Change-Id: Ie8dba5e41887cefddd0f4f91677dd599e93432fd
2024-10-07 09:24:35 +02:00
jenkins-bot ea3e064e1d Merge "Update messages to be more language-friendly" 2024-10-06 10:52:34 +00:00
Reedy a98249d8f7 Blocked Domains: Minor tweaks
Change-Id: I424726677910911094ec28b152be267a7f494469
2024-10-05 22:56:17 +01:00
JJMC89 c0390eeff3 add links to blocked domains messages
- abusefilter-blocked-domains-intro: link to Special:Log/abusefilterblockeddomainhit
- log-description-abusefilterblockeddomainhit: link to Special:BlockedExternalDomains

Bug: T376506
Change-Id: If21c6e2de8b9d524d5299487f58a09d2a8d53720
2024-10-05 14:28:37 -07:00
Amir E. Aharoni f8bd3775e3 Add GENDER to English log messages
To hint to translators that gender can be used,
and to avoid warnings on translatewiki about
missing parameters.

Change-Id: Ie9523527d1ce138f978145ddaa565137a7b34ab1
2024-10-04 13:56:53 -04:00
jenkins-bot 743bb64924 Merge "Log specific views of protected variables" 2024-10-03 14:37:48 +00:00
STran b66daede0a Log specific views of protected variables
Like CheckUser, AbuseFilter should also log when specific protected
logs are viewed.

- Add support for debouncing logs to reduce log spam
- Log when AbuseFilterViewExamine with protected variables available
  is accessed
- Log when SpecialAbuseLog with protected variables available is
  accessed
- Log when QueryAbuseLog with protected variables available is accessed

Bug: T365743
Change-Id: If31a71ea5c7e2dd7c5d26ad37dc474787a7d5b1a
2024-10-02 00:53:34 -07:00
Translation updater bot 5b6dd9b04b
Localisation updates from https://translatewiki.net.
Change-Id: I65716d0056c0e35e789924495c9bef207feab1a3
2024-10-02 09:23:18 +02:00
Translation updater bot 2e9c100eb6
Localisation updates from https://translatewiki.net.
Change-Id: If68ecb082be111fb60b053d841972bc08f172b6b
2024-10-01 09:36:08 +02:00
Dreamy Jazz 48b26792a9 SECURITY: abusefiltercheckmatch: Check if user can see log details
CVE-2024-PENDING

Why:
* The 'abusefiltercheckmatch' API allows callers to match
  arbitary filter conditions against existing AbuseFilter logs
* The API does not check if the performer has the ability to
  see the log details for the given filter, so can allow a user
  to bypass hidden and protected visibility settings.

What:
* Call AbuseFilterPermissionManager::canSeeLogDetailsForFilter
  before attempting to match a filter against a given AbuseFilter
  log.
* Add a test to verify that this security fix works.

Bug: T372998
Change-Id: I4a2467dc4e0d1f8401d5428a89c7f6d6ebcdfa70
2024-10-01 00:18:55 +01:00
Translation updater bot 4cce1db84a
Localisation updates from https://translatewiki.net.
Change-Id: I08b9f50c67038caa88659aaab4b22ed09c2c15ed
2024-09-30 09:20:19 +02:00
Translation updater bot d82460057d
Localisation updates from https://translatewiki.net.
Change-Id: Id6704a452d914ab1e8772c9da0cf3d5fb9e574d2
2024-09-26 09:19:08 +02:00
Translation updater bot 39299abcd6
Localisation updates from https://translatewiki.net.
Change-Id: I29b382fca7dba5010cc42c7de79b507dd8a081ed
2024-09-25 09:16:37 +02:00
Ed Sanders ddad49f138 Add docs, i18n to eslintignore
Change-Id: I6a3fc8f24cd34e141dda06b55e011facebd23550
2024-09-24 12:40:48 +01:00
Translation updater bot bd85e77d80
Localisation updates from https://translatewiki.net.
Change-Id: Ic3e3f3b931f186c927dda1f15764013d413030fd
2024-09-24 09:28:08 +02:00
Ed Sanders 48b5da806d Add missing typehints
Change-Id: I3003d40e641b1ebfff8fd986a58cbc2c4f8f18d6
2024-09-23 14:25:50 +01:00
STran 51381f0067 Bugfix: Fix minor issues with protected vars logging
- Fix an issue where if a user didn't have view permissions they could
  get the preference check error (a preference they wouldn't have) on
  SpecialAbuseLog
- Fix an issue where the `change-access` hadn't been updated to the used
  disabled/enabled log types
- Fix an issue where a ProtectedVarsAccessLoggerTest test wasn't
  correctly using the data provider data
- Improve naming since ProtectedVarsAccessLogger exists in its own test
  file instead of being a subset of tests on AbuseLoggerTest

Bug: T371798
Change-Id: I53f22855e63d9e1339361a5c9ee7886e0f74714a
2024-09-23 03:42:41 -07:00
Translation updater bot 79a47d01db
Localisation updates from https://translatewiki.net.
Change-Id: I8862ff7552a7e778a508f6a7f55493ee6475e339
2024-09-23 09:20:34 +02:00
Jon Robson 4124d56fd7 Update Selenium tests to obtain correctly element
This change is needed to unblock a change in core to the markup.
(I0195d4b0f790f6595cc626a6db96b4fc6380a0f4). The current markup
in core is loading additional CSS styles to support legacy
markup.

Bug: T360668
Change-Id: I4bd1a8a9d4eda1b3e89d067d6671d3f8bad4f584
2024-09-20 14:40:46 -07:00
Translation updater bot dcf992aa89
Localisation updates from https://translatewiki.net.
Change-Id: I7adbcfdec086f5540b438aaee21812e3ace66297
2024-09-20 09:22:55 +02:00
jenkins-bot f42e8102e9 Merge "Write protected variables access logs to CheckUser if installed" 2024-09-19 11:07:07 +00:00
Translation updater bot 4b7f3d95f1
Localisation updates from https://translatewiki.net.
Change-Id: I67ade969cd49e41a5b27f29e1fab8644dba3853d
2024-09-19 09:17:42 +02:00
STran 0b3d0b3b6d Write protected variables access logs to CheckUser if installed
Write logs related to temporary accounts to CheckUser if the extension
is available so that logs are topically centralized.

Bug: T373525
Depends-On: I35d50df7cd6754e29d964cc716fb3c42406272df
Change-Id: Ic95f211f4db7ce6dc2d769d2f3af206f4a3935e4
2024-09-18 07:59:05 -07:00
Translation updater bot 51971686fb
Localisation updates from https://translatewiki.net.
Change-Id: I375744ce6f03960675ff928a3827b808e68862f1
2024-09-18 09:18:20 +02:00
Translation updater bot 57d4fac147
Localisation updates from https://translatewiki.net.
Change-Id: I3a5f01aa84c050fcbc3a77fd7dad95bd376a4eb4
2024-09-17 09:26:10 +02:00
Translation updater bot 8fd76d2332
Localisation updates from https://translatewiki.net.
Change-Id: I4bd616bc4c83f337c211d21911bd6090003ae1f9
2024-09-16 09:24:30 +02:00
Matěj Suchánek 3ec6902f41 Make PreferencesHandler implement the hook interface
Follow-up to Ic7024d9c5f369eb33c4198a59638de9a1d58b04b.

Change-Id: I143dc53806eda8424440803833ef2a25b2893d1d
2024-09-13 18:45:30 +02:00
jenkins-bot 2ef2257922 Merge "Log changes to protected variables access" 2024-09-13 12:49:19 +00:00
jenkins-bot 4f272aeb02 Merge "Add preference for viewing protected variables in AbuseFilter" 2024-09-13 12:27:36 +00:00
STran cbfaaa591d Log changes to protected variables access
Similar to how CheckUser logs access to IP information about temporary
accounts, AbuseFilter needs to log whenever protected variables are
accessed.

- Implement ProtectedVarsAccessLogger which handles access logging
- Log whenever a user changes their ability to access protected
  variables via Special:Preferences

Bug: T371798
Change-Id: Ic7024d9c5f369eb33c4198a59638de9a1d58b04b
2024-09-13 01:39:09 -07:00
STran bd819b98a2 Add preference for viewing protected variables in AbuseFilter
Users need to enable a preference before gaining access to the IPs
from `user_unnamed_ip`, a protected variable.

- Add a preference that the user can check to toggle their access
- Check for the preference and the view right for logs that reveal
  protected variables on:
  + AbuseFilterViewExamine
  + SpecialAbuseLog
  + QueryAbuseLog

Bug: T371798
Change-Id: I5363380d999118982b216585ea73ee4274a6eac1
2024-09-12 07:59:24 -07:00
jenkins-bot 14a882513b Merge "tests: Use multi-row insert in AbuseFilterConsequencesTest" 2024-09-11 19:10:26 +00:00
Bartosz Dziewoński b0c9bdc177 Specify caller in DB queries
Found warnings about this in WMF production logs.

Change-Id: I5d47b0b1a15ab68e2fe2b2f5d14eb0c355b0b632
2024-09-11 15:20:11 +02:00
Umherirrender b2df776f8d tests: Use multi-row insert in AbuseFilterConsequencesTest
Small performance benefit by just one db call instead of multiple
Most test cases only use one filter, but some 2 to 4

Change-Id: I498c447e3873d2138e21541467115c9a67bb909e
2024-09-10 22:04:50 +02:00
Translation updater bot db83369b76
Localisation updates from https://translatewiki.net.
Change-Id: Ia93dfb0609ba11b8e104f5ddeb84e756cb175555
2024-09-10 09:27:58 +02:00
jenkins-bot ef65f54c96 Merge "Support named capturing groups in get_matches()" 2024-09-09 18:06:18 +00:00
Translation updater bot 1109691adc
Localisation updates from https://translatewiki.net.
Change-Id: I65c16f2cb739a4bd69467cf11421db5d32780008
2024-09-09 09:21:48 +02:00