mirror of
https://github.com/chatmail/core.git
synced 2026-04-27 10:26:29 +03:00
protect against attackers dropping the protect-this-chat message by not showing unprotected messages directly; this is done by checking the Chat-Verified flag on each incoming message. moreover, make sure, the flag is signed+encrypted (it must be read from the protected headers).
This commit is contained in:
@@ -1679,6 +1679,11 @@ async fn check_verified_properties(
|
||||
|
||||
ensure!(mimeparser.was_encrypted(), "This message is not encrypted.");
|
||||
|
||||
ensure!(
|
||||
mimeparser.get(HeaderDef::ChatVerified).is_some(),
|
||||
"Sender did not mark the message as protected."
|
||||
);
|
||||
|
||||
// ensure, the contact is verified
|
||||
// and the message is signed with a verified key of the sender.
|
||||
// this check is skipped for SELF as there is no proper SELF-peerstate
|
||||
|
||||
@@ -127,6 +127,7 @@ impl MimeMessage {
|
||||
|
||||
// remove headers that are allowed _only_ in the encrypted part
|
||||
headers.remove("secure-join-fingerprint");
|
||||
headers.remove("chat-verified");
|
||||
|
||||
// Memory location for a possible decrypted message.
|
||||
let mail_raw;
|
||||
|
||||
Reference in New Issue
Block a user