Session management vulnerability in Source interface mitigated

THREAT19 · Mitigated: Controls in place bring the risk down to an acceptable level. · Defined in catalog.py:343

Risk
Medium impact × Low likelihood = 4 medium
After mitigations
Medium impact × Low likelihood = 4 medium (unchanged)

How statuses and scores work

An adversary that can compromise a user's session and perform action of the service on the user's behalf, such as uploading documents, sending messages and viewing journalist responses.

Threat actors: Any

Mitigations

Mitigation Status
Use of Flask session management MITIG63 implemented
Session timeout on both interfaces MITIG17 implemented
All session data deleted upon logout except language so the logout messages can be localized MITIG172 implemented
Sources instructed to restart browser or clear the session to delete session cookie MITIG18 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: Flask is used for client-side session management (MITIG63). Sessions are invalidated when a user logs out and time out after 120 minutes (MITIG17) Session data (minus language) is discarded at logout (MITIG172), all session data is deleted upon exit of Tor Browser (MITIG18). Further mitigations: Verify that the application does not allow multiple active concurrent sessions (MITIG73). Enable "Secure" flag for cookies if TLS is enabled on source interface (MITIG66). Server-side session management (e.g. like in Django) (MITIG173). Automated test for mitigation: Yes.

How this threat is matched

Listed for these components. A boundary covers every component inside it.