Repository navigation
Highlights
Security release on top of 3.1.8. Upgrade if you use matrix-communication for encrypted rooms, or on a machine that other users can log in to.
Security
- Local storage: the data directory (
matrix-skill/,store/,rooms/) is owner-only (0700), also when an older version created it.credentials.json,backup_key.jsonand the verification emoji file are created with mode0600and never through a symlink, and the emoji file moves from/tmpto the data directory. - Room keys go to verified devices only. Encrypted sends, edits and reactions sent through the daemon refuse a room with unverified devices and list them. A device nio stores as "ignored", as the daemon of 3.1.8 and older did, counts as unverified.
--trust-unverified-devicesshares one message's key with them and stores nothing. Sending no longer marks devices verified. - Verification is answered only for the account's own devices;
--accept-from USER_IDadds another user. - Secrets are not taken from the command line. The password, recovery key and passphrase come from
MATRIX_PASSWORD,MATRIX_RECOVERY_KEY/MATRIX_RECOVERY_PASSPHRASEor a prompt;--allow-secret-argumentaccepts a value on argv. - Both request helpers drop
Authorizationon a redirect to another origin. Ids in request paths are URL-encoded. Message text is escaped before it becomes HTML, and onlyhttp,https,mailtoandmatrixURLs are linked.synapse-graph.pyescapes room-supplied label values. - Downloads keep an existing file unless
--overwriteis given.matrix-watchd.py --stopsignals the pid the daemon reports. Device setup and--logouttake the store lock, and the key backup requires the full 8-byte MAC.
Fixed in #169 by @CybotTM, released here as a backport onto 3.1.8.
Behaviour changes
- An encrypted send into a room with unverified devices now fails until they are verified or
--trust-unverified-devicesis given. matrix-e2ee-setup.py PASSWORDandmatrix-key-backup.py --recovery-key VALUEexit with an error; use the environment variables or the prompt.- A store used with 3.1.8 or older keeps the devices those versions marked verified. The e2ee guide describes how to start from a clean store.
3.1.9 contains no other change. The changes merged on main since 3.1.8 that are not part of this fix (among them reading tokens from the environment or a token file, #165) ship with the next release from main.
What's Changed
Full Changelog: v3.1.8...v3.1.9