Package: release.debian.org Severity: normal Tags: bookworm User: [email protected] Usertags: pu
The attached debdiff for libuev fixes CVE-2022-48620. This CVE is marked as no-dsa by the security team. Nevertheless NVD evaluated a score of 9.8 for this CVE, which is categorized as "critical".
The change is straightforward, so the risk should be low. Thorsten
diff -Nru libuev-2.4.0/debian/changelog libuev-2.4.0/debian/changelog --- libuev-2.4.0/debian/changelog 2022-01-24 21:05:09.000000000 +0100 +++ libuev-2.4.0/debian/changelog 2026-01-23 18:03:02.000000000 +0100 @@ -1,3 +1,12 @@ +libuev (2.4.0-1.1+deb12u1) bookworm; urgency=medium + + * Non-maintainer upload by the LTS Team. + * CVE-2022-48620 + fix possible buffer overrun in uev_run() + (Closes: #1060692) + + -- Thorsten Alteholz <[email protected]> Fri, 23 Jan 2026 18:03:02 +0100 + libuev (2.4.0-1.1) unstable; urgency=medium * Non-maintainer upload. diff -Nru libuev-2.4.0/debian/patches/CVE-2022-48620.patch libuev-2.4.0/debian/patches/CVE-2022-48620.patch --- libuev-2.4.0/debian/patches/CVE-2022-48620.patch 1970-01-01 01:00:00.000000000 +0100 +++ libuev-2.4.0/debian/patches/CVE-2022-48620.patch 2026-01-23 18:03:02.000000000 +0100 @@ -0,0 +1,64 @@ +From 2d9f1c9ce655cc38511aeeb6e95ac30914f7aec9 Mon Sep 17 00:00:00 2001 +From: Joachim Wiberg <[email protected]> +Date: Sat, 17 Dec 2022 15:02:21 +0100 +Subject: [PATCH] Fix #27: possible buffer overrun in uev_run() + +If uev_init1() is called with maxevents > 10 the call to epoll_wait() +might cause buffer overflow. Reported by Steve Palmer. + +Signed-off-by: Joachim Wiberg <[email protected]> +--- + src/uev.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +diff --git a/src/uev.c b/src/uev.c +index 10d025f..548866a 100644 +--- a/src/uev.c ++++ b/src/uev.c +@@ -196,11 +196,11 @@ int uev_init(uev_ctx_t *ctx) + /** + * Create an event loop context + * @param ctx Pointer to an uev_ctx_t context to be initialized +- * @param maxevents Maximum number of events in event cache ++ * @param maxevents Maximum number of events in event cache [1, 10] + * + * This function is the same as uev_init() except for the @p maxevents +- * argument, which controls the number of events in the event cache +- * returned to the main loop. ++ * argument, max ::UEV_MAX_EVENTS, which controls the number of events ++ * in the event cache returned to the main loop. + * + * In cases where you have multiple events pending in the cache and some + * event may cause later ones, already sent by the kernel to userspace, +@@ -222,6 +222,9 @@ int uev_init1(uev_ctx_t *ctx, int maxevents) + return -1; + } + ++ if (maxevents > UEV_MAX_EVENTS) ++ maxevents = UEV_MAX_EVENTS; ++ + memset(ctx, 0, sizeof(*ctx)); + ctx->maxevents = maxevents; + +@@ -319,8 +322,12 @@ int uev_run(uev_ctx_t *ctx, int flags) + + while (ctx->running && ctx->watchers) { + struct epoll_event ee[UEV_MAX_EVENTS]; ++ int maxevents = ctx->maxevents; + int i, nfds, rerun = 0; + ++ if (maxevents > UEV_MAX_EVENTS) ++ maxevents = UEV_MAX_EVENTS; ++ + /* Handle special case: `application < file.txt` */ + if (ctx->workaround) { + _UEV_FOREACH(w, ctx->watchers) { +@@ -341,7 +348,7 @@ int uev_run(uev_ctx_t *ctx, int flags) + continue; + ctx->workaround = 0; + +- while ((nfds = epoll_wait(ctx->fd, ee, ctx->maxevents, timeout)) < 0) { ++ while ((nfds = epoll_wait(ctx->fd, ee, maxevents, timeout)) < 0) { + if (!ctx->running) + break; + diff -Nru libuev-2.4.0/debian/patches/series libuev-2.4.0/debian/patches/series --- libuev-2.4.0/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ libuev-2.4.0/debian/patches/series 2026-01-23 18:03:02.000000000 +0100 @@ -0,0 +1 @@ +CVE-2022-48620.patch

