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)

How statuses and scores work

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

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.