18
pkgs/os-specific/linux/kernel/grsecurity-path-4.4.patch
Normal file
18
pkgs/os-specific/linux/kernel/grsecurity-path-4.4.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
diff --git a/kernel/kmod.c b/kernel/kmod.c
|
||||
index a689506..30747b4 100644
|
||||
--- a/kernel/kmod.c
|
||||
+++ b/kernel/kmod.c
|
||||
@@ -294,11 +294,8 @@ static int ____call_usermodehelper(void *data)
|
||||
out the path to be used prior to this point and are now operating
|
||||
on that copy
|
||||
*/
|
||||
- if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/usr/lib/", 9) &&
|
||||
- strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7) &&
|
||||
- strncmp(sub_info->path, "/usr/libexec/", 13) && strncmp(sub_info->path, "/usr/bin/", 9) &&
|
||||
- strncmp(sub_info->path, "/usr/sbin/", 10) &&
|
||||
- strcmp(sub_info->path, "/usr/share/apport/apport")) || strstr(sub_info->path, "..")) {
|
||||
+ if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/nix/store/", 11) &&
|
||||
+ strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) || strstr(sub_info->path, "..")) {
|
||||
printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of permitted system paths\n", sub_info->path);
|
||||
retval = -EPERM;
|
||||
goto out;
|
||||
19
pkgs/os-specific/linux/kernel/linux-grsecurity-3.14.nix
Normal file
19
pkgs/os-specific/linux/kernel/linux-grsecurity-3.14.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
|
||||
|
||||
import ./generic.nix (args // rec {
|
||||
version = "3.14.51";
|
||||
extraMeta.branch = "3.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
|
||||
sha256 = "1gqsd69cqijff4c4br4ydmcjl226d0yy6vrmgfvy16xiraavq1mk";
|
||||
};
|
||||
|
||||
kernelPatches = args.kernelPatches;
|
||||
|
||||
features.iwlwifi = true;
|
||||
features.efiBootStub = true;
|
||||
features.needsCifsUtils = true;
|
||||
features.canDisableNetfilterConntrackHelpers = true;
|
||||
features.netfilterRPFilter = true;
|
||||
} // (args.argsOverride or {}))
|
||||
19
pkgs/os-specific/linux/kernel/linux-grsecurity-4.1.nix
Normal file
19
pkgs/os-specific/linux/kernel/linux-grsecurity-4.1.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
|
||||
|
||||
import ./generic.nix (args // rec {
|
||||
version = "4.1.7";
|
||||
extraMeta.branch = "4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "0g1dnvak0pd03d4miy1025bw64wq71w29a058dzspdr6jcf9qwbn";
|
||||
};
|
||||
|
||||
kernelPatches = args.kernelPatches;
|
||||
|
||||
features.iwlwifi = true;
|
||||
features.efiBootStub = true;
|
||||
features.needsCifsUtils = true;
|
||||
features.canDisableNetfilterConntrackHelpers = true;
|
||||
features.netfilterRPFilter = true;
|
||||
} // (args.argsOverride or {}))
|
||||
19
pkgs/os-specific/linux/kernel/linux-grsecurity-4.4.nix
Normal file
19
pkgs/os-specific/linux/kernel/linux-grsecurity-4.4.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
|
||||
|
||||
import ./generic.nix (args // rec {
|
||||
version = "4.4.2";
|
||||
extraMeta.branch = "4.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "09l6y0nb8yv7l16arfwhy4i5h9pkxcbd7hlbw0015n7gm4i2mzc2";
|
||||
};
|
||||
|
||||
kernelPatches = args.kernelPatches;
|
||||
|
||||
features.iwlwifi = true;
|
||||
features.efiBootStub = true;
|
||||
features.needsCifsUtils = true;
|
||||
features.canDisableNetfilterConntrackHelpers = true;
|
||||
features.netfilterRPFilter = true;
|
||||
} // (args.argsOverride or {}))
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl }:
|
||||
{ stdenv, fetchurl, pkgs }:
|
||||
|
||||
let
|
||||
|
||||
@@ -18,11 +18,14 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
grsecPatch = { grversion ? "3.1", kversion, revision, branch, sha256 }:
|
||||
grsecPatch = { grversion ? "3.1", kernel, patches, kversion, revision, branch ? "test", sha256 }:
|
||||
assert kversion == kernel.version;
|
||||
{ name = "grsecurity-${grversion}-${kversion}";
|
||||
inherit grversion kversion revision;
|
||||
inherit grversion kernel patches kversion revision;
|
||||
patch = fetchurl {
|
||||
url = "https://github.com/slashbeast/grsecurity-scrape/blob/master/${branch}/grsecurity-${grversion}-${kversion}-${revision}.patch?raw=true";
|
||||
url = if branch == "stable"
|
||||
then "https://github.com/kdave/grsecurity-patches/blob/master/grsecurity_patches/grsecurity-${grversion}-${kversion}-${revision}.patch?raw=true"
|
||||
else "https://github.com/slashbeast/grsecurity-scrape/blob/master/${branch}/grsecurity-${grversion}-${kversion}-${revision}.patch?raw=true";
|
||||
inherit sha256;
|
||||
};
|
||||
features.grsecurity = true;
|
||||
@@ -79,23 +82,41 @@ rec {
|
||||
sha256 = "00b1rqgd4yr206dxp4mcymr56ymbjcjfa4m82pxw73khj032qw3j";
|
||||
};
|
||||
|
||||
grsecurity_stable = grsecPatch
|
||||
{ kversion = "3.14.51";
|
||||
grsecurity_3_14 = grsecPatch
|
||||
{ kernel = pkgs.grsecurity_base_linux_3_14;
|
||||
patches = [ grsecurity_fix_path_3_14 ];
|
||||
kversion = "3.14.51";
|
||||
revision = "201508181951";
|
||||
branch = "stable";
|
||||
sha256 = "1sp1gwa7ahzflq7ayb51bg52abrn5zx1hb3pff3axpjqq7vfai6f";
|
||||
};
|
||||
|
||||
grsecurity_unstable = grsecPatch
|
||||
{ kversion = "4.3.4";
|
||||
revision = "201601231215";
|
||||
branch = "test";
|
||||
sha256 = "1dacld4zlp8mk6ykc0f1v5crppvq3znbdw9rwfrf6qi90984x0mr";
|
||||
grsecurity_4_1 = grsecPatch
|
||||
{ kernel = pkgs.grsecurity_base_linux_4_1;
|
||||
patches = [ grsecurity_fix_path_3_14 ];
|
||||
kversion = "4.1.7";
|
||||
revision = "201509201149";
|
||||
sha256 = "1agv8c3c4vmh5algbzmrq2f6vwk72rikrlcbm4h7jbrb9js6fxk4";
|
||||
};
|
||||
|
||||
grsec_fix_path =
|
||||
{ name = "grsec-fix-path";
|
||||
patch = ./grsec-path.patch;
|
||||
grsecurity_4_4 = grsecPatch
|
||||
{ kernel = pkgs.grsecurity_base_linux_4_4;
|
||||
patches = [ grsecurity_fix_path_4_4 ];
|
||||
kversion = "4.4.2";
|
||||
revision = "201602182048";
|
||||
sha256 = "0dm0nzzja6ynzdz2k5h0ckys7flw307i3w0k1lwjxfj80civ73wr";
|
||||
};
|
||||
|
||||
grsecurity_latest = grsecurity_4_4;
|
||||
|
||||
grsecurity_fix_path_3_14 =
|
||||
{ name = "grsecurity-fix-path-3.14";
|
||||
patch = ./grsecurity-path-3.14.patch;
|
||||
};
|
||||
|
||||
grsecurity_fix_path_4_4 =
|
||||
{ name = "grsecurity-fix-path-4.4";
|
||||
patch = ./grsecurity-path-4.4.patch;
|
||||
};
|
||||
|
||||
crc_regression =
|
||||
|
||||
Reference in New Issue
Block a user