Skip to content

Commit 4607af2

Browse files
committed
SRS replay threat
1 parent beff5dc commit 4607af2

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

docs/SECURITY.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,16 @@ htpasswd /var/www/.htpasswd someuser
198198

199199
Now "someuser" has access to the DAV location in which the above .htaccess is placed.
200200

201+
## SRS Replay
202+
203+
**New in 3.2.44**
204+
205+
[Sender rewriting scheme](admin/Smtp.md#srs) restamps forwarded email return-paths with a reversible address that is computed from a 128-bit HMAC hash using a 96-bit secret that yields a unique 48-bit digest for each address. An attacker would need to know the computed hash to send email to the target recipient. In order for this to happen either the attacker would require an email account configured on the server to forward to them, in order to discover the hash, or compromise another victim's machine to discover the hash.
206+
207+
Once this hash is known, the attacker may send unlimited email to that known address. An attacker would be unable to send further emails to other addresses without knowing the computed hash.
208+
209+
Rolling the server secret will generate a new HMAC key, which invalidates all undelivered messages: messages which are forwarded but the final MTA has not reported a 2xx status code indicating successful delivery. Periodic rolling is configured in `[mail]` => `srs_autoroll`. SRS secret may be rolled manually using [`email:roll-srs`](https://api.apiscp.com/Email_Module.html#_roll_srs).
210+
201211
## Client encryption
202212

203213
SSLv2 and SSLv3 are disabled with all recent software releases in the last 5 years. TLS v1.0 and v1.1 have recently become deprecated with Mozilla removing TLSv1.0 and TLSv1.1 beginning March 30. TLSv1.2, released in 2008, is mature and well tolerated by many clients. Two notable exceptions: Internet Explorer did not adopt until v11 in 2013 and Android 5.0+ released in 2014.

docs/admin/Smtp.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,10 @@ Without SRS a message from qux.com delivered to [email protected] that in turn forward
163163

164164
At this time any message that arrives from a remote MTA will be rewritten with SRS. Any message originating from the server (excludes transitory forwards) will not be rewritten.
165165

166+
::: warning SRS replay
167+
SRS is vulnerable to specialized replay attacks to single addresses. While the exploitability benefit is limited, the server may be configured to auto-roll the secret. See [SECURITY.md](../../SECURITY.md#srs-replay).
168+
:::
169+
166170
### SRS address appears in From: field
167171

168172
Postfix employs a [cleanup](http://www.postfix.org/cleanup.8.html) daemon to insert missing headers into a message. *From:* is inferred from the *Return-Path:* header when absent, which is rewritten by SRS. A From: header may then come across as,

0 commit comments

Comments
 (0)