nixpkgs/nixos/doc/manual/release-notes
Graham Christensen a9c875fc2e
nixpkgs: allow packages to be marked insecure
If a package's meta has `knownVulnerabilities`, like so:

    stdenv.mkDerivation {
      name = "foobar-1.2.3";

      ...

      meta.knownVulnerabilities = [
        "CVE-0000-00000: remote code execution"
        "CVE-0000-00001: local privilege escalation"
      ];
    }

and a user attempts to install the package, they will be greeted with
a warning indicating that maybe they don't want to install it:

    error: Package ‘foobar-1.2.3’ in ‘...default.nix:20’ is marked as insecure, refusing to evaluate.

    Known issues:

     - CVE-0000-00000: remote code execution
     - CVE-0000-00001: local privilege escalation

    You can install it anyway by whitelisting this package, using the
    following methods:

    a) for `nixos-rebuild` you can add ‘foobar-1.2.3’ to
       `nixpkgs.config.permittedInsecurePackages` in the configuration.nix,
       like so:

         {
           nixpkgs.config.permittedInsecurePackages = [
             "foobar-1.2.3"
           ];
         }

    b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
    ‘foobar-1.2.3’ to `permittedInsecurePackages` in
    ~/.config/nixpkgs/config.nix, like so:

         {
           permittedInsecurePackages = [
             "foobar-1.2.3"
           ];
         }

Adding either of these configurations will permit this specific
version to be installed. A third option also exists:

  NIXPKGS_ALLOW_INSECURE=1 nix-build ...

though I specifically avoided having a global file-based toggle to
disable this check. This way, users don't disable it once in order to
get a single package, and then don't realize future packages are
insecure.
2017-02-24 07:41:05 -05:00
..
release-notes.xml unstable is now 17.03 2016-09-02 08:47:21 +02:00
rl-1310.xml Move release notes to an appendix and a separate chunk 2015-07-22 16:21:32 +02:00
rl-1404.xml Move release notes to an appendix and a separate chunk 2015-07-22 16:21:32 +02:00
rl-1412.xml Move release notes to an appendix and a separate chunk 2015-07-22 16:21:32 +02:00
rl-1509.xml texlive: rename the directory texlive-new -> texlive 2016-09-04 14:53:30 +02:00
rl-1603.xml modules/mkRemovedOptionModule: add replacement doc 2016-05-29 00:42:08 +02:00
rl-1609.xml Addressing PR feedback 2017-01-28 20:48:03 -08:00
rl-1703.xml nixpkgs: allow packages to be marked insecure 2017-02-24 07:41:05 -05:00