Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge branch 'v0.10.2-fixes' | Nicolas Werner | 2022-09-28 | 1 | -15/+25 |
|\ | |||||
| * | Prevent the homeserver from inserting malicious secrets | Nicolas Werner | 2022-09-28 | 1 | -15/+25 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correctly verify that the reply to a secrets request is actually coming from a verified device. While we did verify that it was us who replied, we didn't properly cancel storing the secret if the sending device was one of ours but was maliciously inserted by the homeserver and unverified. We only send secret requests to verified devices in the first place, so only the homeserver could abuse this issue. Additionally we protected against malicious secret poisoning by verifying that the secret is actually the reply to a request. This means the server only has 2 places where it can poison the secrets: - After a verification when we automatically request the secrets - When the user manually hits the request button It also needs to prevent other secret answers to reach the client first since we ignore all replies after that one. The impact of this might be quite severe. It could allow the server to replace the cross-signing keys silently and while we might not trust that key, we possibly could trust it in the future if we rely on the stored secret. Similarly this could potentially be abused to make the client trust a malicious online key backup. If your deployment is not patched yet and you don't control your homeserver, you can protect against this by simply not doing any verifications of your own devices and not pressing the request button in the settings menu. | ||||
* | | Switch to clang-format14 | Nicolas Werner | 2022-09-25 | 2 | -2/+3 |
|/ | |||||
* | Fix too many fmt parameters | Nicolas Werner | 2022-07-30 | 1 | -1/+1 |
| | |||||
* | Make code compile with hidden friends | Nicolas Werner | 2022-07-29 | 1 | -1/+1 |
| | |||||
* | Verifications sneakily accumulating in the background | Nicolas Werner | 2022-07-22 | 3 | -13/+44 |
| | |||||
* | Request full online keybackup when turning it on | Nicolas Werner | 2022-06-19 | 2 | -0/+69 |
| | |||||
* | Remove a few more headers | Nicolas Werner | 2022-06-18 | 3 | -11/+9 |
| | |||||
* | Get rid of 'using json = nlohmann::json' | Nicolas Werner | 2022-06-17 | 3 | -15/+15 |
| | |||||
* | Fix compilation without implicit nlohmann conversions | Nicolas Werner | 2022-06-17 | 2 | -13/+16 |
| | |||||
* | Simplify includes a bit | Nicolas Werner | 2022-06-16 | 1 | -0/+2 |
| | |||||
* | Fix comparison for glare algorithm | Nicolas Werner | 2022-06-12 | 2 | -5/+9 |
| | |||||
* | Properly handle glare when verifying | Nicolas Werner | 2022-06-12 | 1 | -4/+17 |
| | |||||
* | Use right linter | Nicolas Werner | 2022-05-10 | 2 | -3/+2 |
| | |||||
* | More image dialog fixes | Nicolas Werner | 2022-05-10 | 2 | -2/+3 |
| | |||||
* | Remove sender key from megolm session index | Nicolas Werner | 2022-04-08 | 1 | -24/+24 |
| | | | | | | implements MSC3700 see https://github.com/matrix-org/matrix-spec-proposals/pull/3700 | ||||
* | Allow properly editing pending encrypted messages | Nicolas Werner | 2022-02-27 | 2 | -13/+30 |
| | |||||
* | Prevent old verification requests from showing up | Nicolas Werner | 2022-02-14 | 1 | -0/+27 |
| | |||||
* | Update year in copyright notice to shut up lint job | Nicolas Werner | 2022-01-01 | 8 | -0/+8 |
| | |||||
* | Reserve size of some containers we are filling | Nicolas Werner | 2021-12-29 | 1 | -0/+1 |
| | |||||
* | Reduce allocations using QStringLiteral | Nicolas Werner | 2021-12-29 | 2 | -11/+11 |
| | |||||
* | Fix more warnings and remove dead code | Nicolas Werner | 2021-12-28 | 3 | -5/+5 |
| | |||||
* | Fix a few shadowing warnings | Nicolas Werner | 2021-12-11 | 3 | -11/+11 |
| | | | | fixes #824 | ||||
* | Make clang-format <13 and clang-format >=13 behave the same | Nicolas Werner | 2021-11-22 | 2 | -18/+21 |
| | | | | | I think old clang-format is just buggy in those cases, so we should reenable those blocks, once everyone has 13 or up. | ||||
* | Fix no replies being rendered for edits sent from Element in encrypted rooms | Nicolas Werner | 2021-11-11 | 1 | -5/+4 |
| | |||||
* | Improve fetching of device keys after login | Nicolas Werner | 2021-11-08 | 1 | -3/+14 |
| | |||||
* | Fix self verification status never updating | Nicolas Werner | 2021-11-07 | 1 | -1/+2 |
| | |||||
* | Don't try to load verification status before db is ready | Nicolas Werner | 2021-11-07 | 1 | -1/+0 |
| | |||||
* | Move away from using an event loop to access secrets | Nicolas Werner | 2021-11-07 | 1 | -4/+9 |
| | | | | | | | | Fixes messages in room flickering and being stuck fixes #760 relates to #770 relates to #789 | ||||
* | Fix translation nits | Nicolas Werner | 2021-11-04 | 1 | -1/+1 |
| | |||||
* | Prompt user when there are unverified devices | Nicolas Werner | 2021-11-01 | 2 | -1/+21 |
| | |||||
* | Add self verification after login | Nicolas Werner | 2021-10-30 | 7 | -68/+182 |
| | |||||
* | lint using clang11 | Nicolas Werner | 2021-10-17 | 1 | -2/+2 |
| | |||||
* | lint | Nicolas Werner | 2021-10-17 | 2 | -3/+2 |
| | |||||
* | move device verification management to its own file | Nicolas Werner | 2021-10-17 | 2 | -0/+174 |
| | |||||
* | Move voip and encryption stuff into their own directories | Nicolas Werner | 2021-10-17 | 6 | -0/+3126 |