Authentication vulnerability in Source interface mitigated
THREAT10
· Mitigated: Controls in place bring the risk down to an acceptable level.
· Defined in catalog.py:185
- Risk
- Medium impact × Low likelihood = 4 medium
- After mitigations
- Medium impact × Low likelihood = 4 medium (unchanged)
An adversary can access a source's account (and journalist responses) without source codename.
Threat actors: Any
Mitigations
| Mitigation | Status |
|---|---|
| Source codename is 7 word diceware passphrase MITIG45 | implemented |
| Source codenames stored hashed in the database MITIG122 | implemented |
| No source codename reset functionality MITIG198 | implemented |
| Sources instructed to delete journalist replies after they read them MITIG199 | implemented |
| Source account does not display their submitted documents MITIG44 | implemented |
Possible further mitigations
- 2FA for source accounts MITIG123 proposed
Where it applies
Applies to 1 component in 2 scenarios.
Source submission · Source Interface
Supply chain and dependencies · Source Interface
Notes
Existing mitigations: Source codenames are generated automatically: 7 word diceware passphrases (MITIG45). Source codenames are stored in the database hashed with unique salt using scrypt with an n-value of 14 (MITIG122). There is no password reset functionality (MITIG198). Sources are instructed to delete journalist replies after reading (MITIG199). Source login does not display information about prior submissions (deniability) (MITIG44). Further mitigations: All authentications or challenges should respond in the same average response time. TOTP could be used to allow 2-FA on source interface (MITIG123). Automated test for mitigation: Yes.
How this threat is matched
Listed for these components. A boundary covers every component inside it.