rainloop-{community,standard}: patch CVE-2022-29360
This commit is contained in:
parent
3556174c29
commit
d23282a2f5
2 changed files with 38 additions and 3 deletions
|
@ -1,10 +1,10 @@
|
||||||
{ lib, stdenv, fetchurl, unzip, pkgs, dataPath ? "/var/lib/rainloop" }: let
|
{ lib, stdenv, fetchurl, unzip, writeText, dos2unix, dataPath ? "/var/lib/rainloop" }: let
|
||||||
common = { edition, sha256 }:
|
common = { edition, sha256 }:
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
pname = "rainloop${lib.optionalString (edition != "") "-${edition}"}";
|
pname = "rainloop${lib.optionalString (edition != "") "-${edition}"}";
|
||||||
version = "1.16.0";
|
version = "1.16.0";
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip dos2unix ];
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
mkdir rainloop
|
mkdir rainloop
|
||||||
|
@ -16,7 +16,19 @@
|
||||||
sha256 = sha256;
|
sha256 = sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
includeScript = pkgs.writeText "include.php" ''
|
prePatch = ''
|
||||||
|
dos2unix ./rainloop/rainloop/v/1.16.0/app/libraries/MailSo/Base/HtmlUtils.php
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix-cve-2022-29360.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
unix2dos ./rainloop/rainloop/v/1.16.0/app/libraries/MailSo/Base/HtmlUtils.php
|
||||||
|
'';
|
||||||
|
|
||||||
|
includeScript = writeText "include.php" ''
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
23
pkgs/servers/rainloop/fix-cve-2022-29360.patch
Normal file
23
pkgs/servers/rainloop/fix-cve-2022-29360.patch
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
Fetched from https://blog.sonarsource.com/rainloop-emails-at-risk-due-to-code-flaw/
|
||||||
|
|
||||||
|
--- a/rainloop/rainloop/v/1.16.0/app/libraries/MailSo/Base/HtmlUtils.php
|
||||||
|
+++ b/rainloop/rainloop/v/1.16.0/app/libraries/MailSo/Base/HtmlUtils.php
|
||||||
|
@@ -239,7 +239,8 @@ class HtmlUtils
|
||||||
|
$oWrapHtml->setAttribute($sKey, $sValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
- $oWrapDom = $oDom->createElement('div', '___xxx___');
|
||||||
|
+ $rand_str = base64_encode(random_bytes(32));
|
||||||
|
+ $oWrapDom = $oDom->createElement('div', $rand_str);
|
||||||
|
$oWrapDom->setAttribute('data-x-div-type', 'body');
|
||||||
|
foreach ($aBodylAttrs as $sKey => $sValue)
|
||||||
|
{
|
||||||
|
@@ -250,7 +251,7 @@ class HtmlUtils
|
||||||
|
|
||||||
|
$sWrp = $oDom->saveHTML($oWrapHtml);
|
||||||
|
|
||||||
|
- $sResult = \str_replace('___xxx___', $sResult, $sWrp);
|
||||||
|
+ $sResult = \str_replace($rand_str, $sResult, $sWrp);
|
||||||
|
}
|
||||||
|
|
||||||
|
$sResult = \str_replace(\MailSo\Base\HtmlUtils::$KOS, ':', $sResult);
|
Loading…
Reference in a new issue