From 4cbb31f5bf083442325692ff16559fed73f3a6cf Mon Sep 17 00:00:00 2001 From: Eugene Mutavchi Date: Fri, 10 Oct 2025 16:24:27 +0000 Subject: [PATCH] fix 'heap-use-after-free' caused by 'finishing' queue item twice CVE: CVE-2025-12105 Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/9ba1243a24e442fa5ec44684617a4480027da960] Signed-off-by: Changqing Li --- libsoup/soup-session.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c index 9f00b05..649902f 100644 --- a/libsoup/soup-session.c +++ b/libsoup/soup-session.c @@ -2822,8 +2822,10 @@ run_until_read_done (SoupMessage *msg, if (soup_message_io_in_progress (msg)) soup_message_io_finished (msg); item->paused = FALSE; - item->state = SOUP_MESSAGE_FINISHING; - soup_session_process_queue_item (item->session, item, FALSE); + if (item->state != SOUP_MESSAGE_FINISHED) { + item->state = SOUP_MESSAGE_FINISHING; + soup_session_process_queue_item (item->session, item, FALSE); + } } async_send_request_return_result (item, NULL, error); } -- 2.34.1