diff --git a/pkgs/by-name/li/libwebsockets/package.nix b/pkgs/by-name/li/libwebsockets/package.nix index 928764569233..3c6a144f0b40 100644 --- a/pkgs/by-name/li/libwebsockets/package.nix +++ b/pkgs/by-name/li/libwebsockets/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, cmake, openssl, zlib, @@ -21,6 +22,27 @@ stdenv.mkDerivation rec { hash = "sha256-KOAhIVn4G5u0A1TE75Xv7iYO3/i8foqWYecH0kJHdBM="; }; + patches = [ + (fetchpatch { + name = "CVE-2025-11677.patch"; + url = "https://libwebsockets.org/git/libwebsockets/patch?id=2f082ec31261f556969160143ba94875d783971a"; + hash = "sha256-FeiZAbr1kpt+YNjhi2gfG2A6nXKiSssMFRmlALaneu4="; + }) + (fetchpatch { + name = "CVE-2025-11678.patch"; + url = "https://libwebsockets.org/git/libwebsockets/patch?id=2bb9598562b37c942ba5b04bcde3f7fdf66a9d3a"; + hash = "sha256-1uQUkoMbK+3E/QYMIBLlBZypwHBIrWBtm+KIW07WRj8="; + }) + ]; + + # Updating to 4.4.1 would bring some errors, and the patch doesn't apply cleanly + # https://github.com/warmcat/libwebsockets/commit/47efb8c1c2371fa309f85a32984e99b2cc1d614a + postPatch = '' + for f in $(find . -name CMakeLists.txt); do + sed '/^cmake_minimum_required/Is/VERSION [0-9]\.[0-9]/VERSION 3.5/' -i "$f" + done + ''; + outputs = [ "out" "dev"