From nobody Sat Jun 20 20:56:37 2026 Received: from mail115-63.sinamail.sina.com.cn (mail115-63.sinamail.sina.com.cn [218.30.115.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C52D2EDD70 for ; Fri, 10 Apr 2026 02:42:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=218.30.115.63 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775788925; cv=none; b=sFK8mUH5zyS6qaFTfxRsQdYfhYdshKu4hCqrs1qF5dFix5L76XKClVXTpb3zkz3d5Ni0+Q5pdLXQHrxBw3T7Tu9eqqndwXrMYXoBqkJSPxYCm7sEOaRZw5tOoBSyNxQGcjrBCduZka2GNYvXBqNy/JBUUb4tEcMS9r+D0WyUxXE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775788925; c=relaxed/simple; bh=a4lni9hcsti9FZ1wRpFGW1X6Y+us/2ONM6YdbyDS/ig=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=Wnno7qo94QABaMIysXkJYG0qNFEJcydjQeIh6KP8CzfqOgHJqI3TEzH8vS3UmKPP6MHWXVgCrJB/KcRlqnpdf0yFKfQt6fAPt1vhKFQKyTutzL9wESxy55o4XM6UR0rA+P6FL0KqdJYt0FJtA0BiOR9sT/eltmA/Lie8VhjVJWQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sina.cn; spf=pass smtp.mailfrom=sina.cn; dkim=pass (1024-bit key) header.d=sina.cn header.i=@sina.cn header.b=KItVt9wK; arc=none smtp.client-ip=218.30.115.63 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sina.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sina.cn Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=sina.cn header.i=@sina.cn header.b="KItVt9wK" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sina.cn; s=201208; t=1775788923; bh=ruYH7ms7tY97YQislZdAnstwK+shvlV+EpfW2XTw8BM=; h=From:Subject:Date:Message-Id; b=KItVt9wKLHzB+W40SxDPW0oUFzAkSPlRErLEM5pTb05qUa3voV+hYwA3n53Vw/Hd3 jDi1EhnuVkF2eeSnhN4ICxzLuDbfJaNJw/Ky8xqKXHEpoh/hpBtLHZm5gIFzVPqilr eNAVT460HLrCshLXQes/Y0+o0NKToS1AnbrbIjhI= X-SMAIL-HELO: NTT-kernel-dev Received: from unknown (HELO NTT-kernel-dev)([60.247.85.88]) by sina.cn (10.185.250.22) with ESMTP id 69D8637300004E7D; Fri, 10 Apr 2026 10:42:00 +0800 (CST) X-Sender: jianqkang@sina.cn X-Auth-ID: jianqkang@sina.cn Authentication-Results: sina.cn; spf=none smtp.mailfrom=jianqkang@sina.cn; dkim=none header.i=none; dmarc=none action=none header.from=jianqkang@sina.cn X-SMAIL-MID: 5399577602229 X-SMAIL-UIID: 4C3470BD7AEE45A6807157EBF20EDA74-20260410-104200-1 From: Jianqiang kang To: gregkh@linuxfoundation.org, stable@vger.kernel.org, arielsilver77@gmail.com Cc: patches@lists.linux.dev, linux-kernel@vger.kernel.org, mchehab@kernel.org, linux-media@vger.kernel.org, mchehab+huawei@kernel.org Subject: [PATCH 5.10.y] media: dvb-net: fix OOB access in ULE extension header tables Date: Fri, 10 Apr 2026 10:41:55 +0800 Message-Id: <20260410024155.3765938-1-jianqkang@sina.cn> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ariel Silver [ Upstream commit 24d87712727a5017ad142d63940589a36cd25647 ] The ule_mandatory_ext_handlers[] and ule_optional_ext_handlers[] tables in handle_one_ule_extension() are declared with 255 elements (valid indices 0-254), but the index htype is derived from network-controlled data as (ule_sndu_type & 0x00FF), giving a range of 0-255. When htype equals 255, an out-of-bounds read occurs on the function pointer table, and the OOB value may be called as a function pointer. Add a bounds check on htype against the array size before either table is accessed. Out-of-range values now cause the SNDU to be discarded. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Reported-by: Ariel Silver Signed-off-by: Ariel Silver Cc: stable@vger.kernel.org Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Jianqiang kang --- drivers/media/dvb-core/dvb_net.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_= net.c index c594b1bdfcaa..c8cbe901bcf0 100644 --- a/drivers/media/dvb-core/dvb_net.c +++ b/drivers/media/dvb-core/dvb_net.c @@ -228,6 +228,9 @@ static int handle_one_ule_extension( struct dvb_net_pri= v *p ) unsigned char hlen =3D (p->ule_sndu_type & 0x0700) >> 8; unsigned char htype =3D p->ule_sndu_type & 0x00FF; =20 + if (htype >=3D ARRAY_SIZE(ule_mandatory_ext_handlers)) + return -1; + /* Discriminate mandatory and optional extension headers. */ if (hlen =3D=3D 0) { /* Mandatory extension header */ --=20 2.34.1