mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
Compare commits
11 Commits
5f3aa3eb8a
...
c89d27cd4f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c89d27cd4f | ||
|
|
da38d3003c | ||
|
|
3fbfc3a7d4 | ||
|
|
9b87df5e52 | ||
|
|
034f2a4018 | ||
|
|
2d355d1aba | ||
|
|
2c2c8a3587 | ||
|
|
3cff9ef0a7 | ||
|
|
b3a92ec281 | ||
|
|
ca8d5775de | ||
|
|
cab7cf2acd |
@@ -67,13 +67,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ghostscript${lib.optionalString x11Support "-with-X"}";
|
||||
version = "10.07.0";
|
||||
version = "10.07.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${
|
||||
lib.replaceStrings [ "." ] [ "" ] finalAttrs.version
|
||||
}/ghostscript-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-3azk4XIflnpVA5uv9WSEAiXguqHU9UMiR8oczRRzt8E=";
|
||||
hash = "sha256-HNt2bejbjx5YnIF/CcWFXqX2XfyFQORlpprBTBhBYCU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -233,6 +233,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.ghostscript.com/";
|
||||
changelog = "https://ghostscript.readthedocs.io/en/gs${finalAttrs.version}/News.html";
|
||||
description = "PostScript interpreter (mainline version)";
|
||||
longDescription = ''
|
||||
Ghostscript is the name of a set of tools that provides (i) an
|
||||
|
||||
61
pkgs/by-name/kr/krb5/CVE-2026-40355-and-CVE-2026-40356.patch
Normal file
61
pkgs/by-name/kr/krb5/CVE-2026-40355-and-CVE-2026-40356.patch
Normal file
@@ -0,0 +1,61 @@
|
||||
From acea6182e46fff3d1d64a3172cdff307b07ca441 Mon Sep 17 00:00:00 2001
|
||||
From: Greg Hudson <ghudson@mit.edu>
|
||||
Date: Wed, 8 Apr 2026 17:57:59 -0400
|
||||
Subject: [PATCH] Fix two NegoEx parsing vulnerabilities
|
||||
|
||||
In parse_nego_message(), check the result of the second call to
|
||||
vector_base() before dereferencing it. In parse_message(), check for
|
||||
a short header_len to prevent an integer underflow when calculating
|
||||
the remaining message length.
|
||||
|
||||
Reported by Cem Onat Karagun.
|
||||
|
||||
CVE-2026-40355:
|
||||
|
||||
In MIT krb5 release 1.18 and later, if an application calls
|
||||
gss_accept_sec_context() on a system with a NegoEx mechanism
|
||||
registered in /etc/gss/mech, an unauthenticated remote attacker can
|
||||
trigger a null pointer dereference, causing the process to terminate.
|
||||
|
||||
CVE-2026-40356:
|
||||
|
||||
In MIT krb5 release 1.18 and later, if an application calls
|
||||
gss_accept_sec_context() on a system with a NegoEx mechanism
|
||||
registered in /etc/gss/mech, an unauthenticated remote attacker can
|
||||
trigger a read overrun of up to 52 bytes, possibly causing the process
|
||||
to terminate. Exfiltration of the bytes read does not appear
|
||||
possible.
|
||||
|
||||
(cherry picked from commit 2e75f0d9362fb979f5fc92829431a590a130929f)
|
||||
|
||||
ticket: 9205
|
||||
version_fixed: 1.22.3
|
||||
---
|
||||
lib/gssapi/spnego/negoex_util.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/gssapi/spnego/negoex_util.c b/src/lib/gssapi/spnego/negoex_util.c
|
||||
index edc5462e844..a65238e5730 100644
|
||||
--- a/lib/gssapi/spnego/negoex_util.c
|
||||
+++ b/lib/gssapi/spnego/negoex_util.c
|
||||
@@ -253,6 +253,10 @@ parse_nego_message(OM_uint32 *minor, struct k5input *in,
|
||||
offset = k5_input_get_uint32_le(in);
|
||||
count = k5_input_get_uint16_le(in);
|
||||
p = vector_base(offset, count, EXTENSION_LENGTH, msg_base, msg_len);
|
||||
+ if (p == NULL) {
|
||||
+ *minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE;
|
||||
+ return GSS_S_DEFECTIVE_TOKEN;
|
||||
+ }
|
||||
for (i = 0; i < count; i++) {
|
||||
extension_type = load_32_le(p + i * EXTENSION_LENGTH);
|
||||
if (extension_type & EXTENSION_FLAG_CRITICAL) {
|
||||
@@ -391,7 +395,8 @@ parse_message(OM_uint32 *minor, spnego_gss_ctx_id_t ctx, struct k5input *in,
|
||||
msg_len = k5_input_get_uint32_le(in);
|
||||
conv_id = k5_input_get_bytes(in, GUID_LENGTH);
|
||||
|
||||
- if (in->status || msg_len > token_remaining || header_len > msg_len) {
|
||||
+ if (in->status || msg_len > token_remaining ||
|
||||
+ header_len < (size_t)(in->ptr - msg_base) || header_len > msg_len) {
|
||||
*minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE;
|
||||
return GSS_S_DEFECTIVE_TOKEN;
|
||||
}
|
||||
@@ -34,16 +34,20 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "krb5";
|
||||
version = "1.22.1";
|
||||
version = "1.22.2";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://kerberos.org/dist/krb5/${lib.versions.majorMinor finalAttrs.version}/krb5-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-GogyuMrZI+u/E5T2fi789B46SfRgKFpm41reyPoAU68=";
|
||||
hash = "sha256-MkP/vI6k1Kwi3cfdKh3FTFeHTEBki2D/lwCXY1VOrxM=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.hostPlatform.isFreeBSD [
|
||||
patches = [
|
||||
# https://github.com/krb5/krb5/pull/1506
|
||||
./CVE-2026-40355-and-CVE-2026-40356.patch
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isFreeBSD [
|
||||
(fetchpatch {
|
||||
name = "fix-missing-ENODATA.patch";
|
||||
url = "https://cgit.freebsd.org/ports/plain/security/krb5-122/files/patch-lib_krad_packet.c?id=0501f716c4aff7880fde56e42d641ef504593b7d";
|
||||
@@ -170,6 +174,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
meta = {
|
||||
changelog = "https://web.mit.edu/Kerberos/krb5-${lib.versions.majorMinor finalAttrs.version}/";
|
||||
description = "MIT Kerberos 5";
|
||||
homepage = "http://web.mit.edu/kerberos/";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "1.0.19";
|
||||
version = "1.1.0";
|
||||
pname = "libde265";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "strukturag";
|
||||
repo = "libde265";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-77OIclR2TwOigo/k5ps9S0TrDNvEjf290PqZyqBcydo=";
|
||||
hash = "sha256-QhBi23HttVdIJCueSeKj3ZKwqX1iFcuAX7GmnMRCyN8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -43,6 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/strukturag/libde265";
|
||||
changelog = "https://github.com/strukturag/libde265/releases/tag/${finalAttrs.src.tag}";
|
||||
description = "Open h.265 video codec implementation";
|
||||
mainProgram = "dec265";
|
||||
license = lib.licenses.lgpl3;
|
||||
|
||||
@@ -11,10 +11,10 @@
|
||||
assert zlib != null;
|
||||
|
||||
let
|
||||
patchVersion = "1.6.56";
|
||||
patchVersion = "1.6.58";
|
||||
patch_src = fetchurl {
|
||||
url = "mirror://sourceforge/libpng-apng/libpng-${patchVersion}-apng.patch.gz";
|
||||
hash = "sha256-nOMtSidjoqxfJYcmui9J6QETJ8HujDCGKjLQ8wiJ++g=";
|
||||
hash = "sha256-7ufeoi7VAoaAF5cchsY8TtHmCF3guuv9zD0zIvAPPrA=";
|
||||
};
|
||||
whenPatched = lib.optionalString apngSupport;
|
||||
|
||||
@@ -24,11 +24,11 @@ let
|
||||
in
|
||||
stdenv'.mkDerivation (finalAttrs: {
|
||||
pname = "libpng" + whenPatched "-apng";
|
||||
version = "1.6.56";
|
||||
version = "1.6.58";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/libpng/libpng-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-99i/FgG3gE9YOiVKs0OmVJymzyfSVcMCxHry2dNqbxg=";
|
||||
hash = "sha256-KOtAP1Hw90BSSRMs7P6C6lwO+X8bMsWmWCiBSuDTR3U=";
|
||||
};
|
||||
postPatch =
|
||||
whenPatched "gunzip < ${patch_src} | patch -Np1"
|
||||
|
||||
@@ -46,13 +46,13 @@ let
|
||||
};
|
||||
};
|
||||
libxml2 = callPackage ./common.nix {
|
||||
version = "2.15.2";
|
||||
version = "2.15.3";
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "GNOME";
|
||||
repo = "libxml2";
|
||||
tag = "v${packages.libxml2.version}";
|
||||
hash = "sha256-k5dZ75D/BOouYAjrof9Jm2lY29XZhOqS1kudDGmGY9Q=";
|
||||
hash = "sha256-fDntZDyITs223by8n7ueOXiO7yyzshtANoWbY0+yeqo=";
|
||||
};
|
||||
extraMeta = {
|
||||
maintainers = with lib.maintainers; [
|
||||
|
||||
Reference in New Issue
Block a user