Authentication vulnerability in Journalist interface mitigated
THREAT13
· Mitigated: Controls in place bring the risk down to an acceptable level.
· Defined in catalog.py:236
- Risk
- High impact × Low likelihood = 6 medium
- After mitigations
- Medium impact × Low likelihood = 4 medium
An adversary can access the journalist (or admin) interface without journalist (or admin) credentials.
Threat actors: Nation State / Law Enforcement Large Corporation
Mitigations
| Mitigation | Status |
|---|---|
| Passphrases are stored salted and hashed MITIG50 | implemented |
| 2FA token required for login to admin or journalist interfaces MITIG19 | implemented |
| ATHS token for Journalist Interface and API MITIG82 | implemented |
| Passphrases for journalists and admins are generated to be 7 word diceware MITIG49 | implemented |
| Journalist logins are throttled MITIG206 | implemented |
| Routes login protected by default on journalist interface MITIG207 | implemented |
Where it applies
Applies to 1 component in 2 scenarios.
Journalist triage · Journalist Interface
Workstation: reading submissions · Journalist Interface
Notes
Existing mitigations: User passwords are stored in the database hashed with unique salt using scrypt with an n-value of 14 (MITIG50). TOTP or Yubikeys are used as a second factor of authentication (MITIG19). Tor authenticated hidden services are used for the journalist interface, requiring a tor hidden service token (MITIG82). Enrollment generates an 7-word diceware passphrase for Journalists and admins (MITIG49). Journalist logins are throttled (MITIG206). New routes are by default login-protected (MITIG207). Further mitigations: All authentications or challenges should respond in the same average response time. Automated test for mitigation: Yes.
How this threat is matched
Listed for these components. A boundary covers every component inside it.