]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Limit CIDv1 detection to 128 bytes
authortwesterhever <40121680+twesterhever@users.noreply.github.com>
Sun, 6 Nov 2022 14:48:54 +0000 (14:48 +0000)
committerGitHub <noreply@github.com>
Sun, 6 Nov 2022 14:48:54 +0000 (14:48 +0000)
As requested by @vstakhov in https://github.com/rspamd/rspamd/pull/4310#pullrequestreview-1148226107, try to limit the performance impact of this regular expression. However, given that there does not seem to be a hard limit for CIDv1s in IPFS itself, using an hashing algorithm with large output my permit miscreants to get around this rule.

rules/regexp/misc.lua

index 940a9187e04b96b8e71f97d49891f7e867606df3..e39258a416b09340fb0363006c83b76bbea957ce 100644 (file)
@@ -106,7 +106,7 @@ rspamd_config:register_dependency('LEAKED_PASSWORD_SCAM', 'BITCOIN_ADDR')
 -- content identifier (CID), comprising of either "qm", followed by 46 alphanumerical
 -- characters (CIDv0), or a CIDv1 of an alphanumerical string of unspecified length,
 -- depending on the hash algorithm used, but starting with a multibase prefix.
-local ipfs_cid = '/(qm[a-z0-9]{44}|[079fFvVtTbBcChkKzZmMuUP][a-z0-9]{45,256})/{url}i'
+local ipfs_cid = '/(qm[a-z0-9]{44}|[079fFvVtTbBcChkKzZmMuUP][a-z0-9]{44,128})/{url}i'
 local ipfs_string = '/ipfs(\\.|-|_|\\/|\\?)/{url}i'
 reconf['HAS_IPFS_GATEWAY_URL'] = {
   description = 'Message contains InterPlanetary File System (IPFS) gateway URL, likely malicious',