jq: Fix CVE-2026-49839

This patch applies the upstream fix for CVE-2026-49839 as referenced
in [2], using the upstream commit identified in [1].

[1] https://github.com/jqlang/jq/commit/e987df0d463d85fd70825e042a082427e8275b86
[2] https://github.com/jqlang/jq/security/advisories/GHSA-cfh2-vwfq-qfmm

Signed-off-by: Darsh Kelaiya <dkelaiya@cisco.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
This commit is contained in:
Darsh Kelaiya
2026-07-20 10:59:40 -07:00
committed by Anuj Mittal
parent 99f7ee0390
commit f2fafaf4eb
2 changed files with 38 additions and 0 deletions
@@ -0,0 +1,37 @@
From d06aa59975de9c469bf77bab901999d446ec739d Mon Sep 17 00:00:00 2001
From: itchyny <itchyny@cybozu.co.jp>
Date: Mon, 8 Jun 2026 22:14:48 +0900
Subject: [PATCH 2/3] Fix heap-buffer-overflow in raw file loading
When `jv_string_append_buf` overflows the string length limit,
it returns an invalid `jv`; `jv_load_file` then re-entered it
on the invalid value and overran the heap. Break out of the loop
once the value is invalid.
Fixes CVE-2026-49839.
CVE: CVE-2026-49839
Upstream-Status: Backport [https://github.com/jqlang/jq/commit/e987df0d463d85fd70825e042a082427e8275b86]
(cherry picked from commit e987df0d463d85fd70825e042a082427e8275b86)
Signed-off-by: Darsh Kelaiya <dkelaiya@cisco.com>
---
src/jv_file.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/jv_file.c b/src/jv_file.c
index b10bcc0..40137c3 100644
--- a/src/jv_file.c
+++ b/src/jv_file.c
@@ -57,6 +57,8 @@ jv jv_load_file(const char* filename, int raw) {
if (raw) {
data = jv_string_append_buf(data, buf, n);
+ if (!jv_is_valid(data))
+ break;
} else {
jv_parser_set_buf(parser, buf, n, !feof(file));
jv value;
--
2.53.0
+1
View File
@@ -25,6 +25,7 @@ SRC_URI = "git://github.com/jqlang/jq.git;protocol=https;branch=master;tag=jq-${
file://CVE-2026-43896.patch \
file://CVE-2026-44777.patch \
file://CVE-2026-43895.patch \
file://CVE-2026-49839.patch \
"
inherit autotools ptest