From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 3FB691BDCD for ; Wed, 6 Mar 2024 06:47:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709707625; cv=none; b=nL9NPyJOH2l80Xti0BCDHsFYU3Bxb+s1n6DhtGvm1DCEpwT6SYWSb3XRA4+rQdivbCFprtFqH1poIuXPqw1nWEAEf8F03p8V6rNwVjh8S4f8nUbAsPz3W9FroQIUMioI/k/mRCF7FtJTaoClidLHsS3+XDDvxDhS1aKXNyy0/Ug= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709707625; c=relaxed/simple; bh=MV/AwTByqgGYhLfU9TM01uvGdeB7fp4/EMRViMVhWF8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=pmaH87v5yh8UUzmvBFkQOs4nEl/7hTH+DSMp01AKNPzK1tb2dYqfjMhSktfWVwaUkIA2ei0pvl8S46GVeOuExTwQj3pNlrj9OSHVTP6u1rZRFF9m41DOPTetP+F3oRywkYK+5X0pL11gSujN2NryOlzZVpeXWmIKPggoGtYtW60= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=oIAZd1J4; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="oIAZd1J4" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C75EBC433C7; Wed, 6 Mar 2024 06:47:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1709707625; bh=MV/AwTByqgGYhLfU9TM01uvGdeB7fp4/EMRViMVhWF8=; h=From:To:Cc:Subject:Date:Reply-to:From; b=oIAZd1J4d/8xPe9WkF/oMcJngw4gzUuk3fY7V9XyHBohs1kTwSWINDUrXI25IbxRw bImw6/EvzaypeCHZOhlq4DdV4E13+kt7uf95n8aSE8ABOWgauD+qAhM7kOfDYuIZP6 QofwJzeEIGwZUxDEpNHoMBrbkvlTfpD1D2DGm5vI= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2023-52592: libbpf: Fix NULL pointer dereference in bpf_object__collect_prog_relos Date: Wed, 6 Mar 2024 06:45:50 +0000 Message-ID: <2024030645-CVE-2023-52592-4693@gregkh> X-Mailer: git-send-email 2.44.0 Precedence: bulk X-Mailing-List: linux-cve-announce@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Reply-to: , X-Developer-Signature: v=1; a=openpgp-sha256; l=3401; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=MV/AwTByqgGYhLfU9TM01uvGdeB7fp4/EMRViMVhWF8=; b=owGbwMvMwCRo6H6F97bub03G02pJDKkvBCXdfC1UNJbwW/Zm+dzm3fG4/BR/hufRNat+fl/+Z zeP5Kp5HbEsDIJMDLJiiixftvEc3V9xSNHL0PY0zBxWJpAhDFycAjCRpBaGeSavvrIslP3+8vsS uY5Gds0TusaiZxnme26SMN50a/qPnhh/cc7TV+UOx2gXAwA= X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 Content-Transfer-Encoding: 8bit Description =========== In the Linux kernel, the following vulnerability has been resolved: libbpf: Fix NULL pointer dereference in bpf_object__collect_prog_relos An issue occurred while reading an ELF file in libbpf.c during fuzzing: Program received signal SIGSEGV, Segmentation fault. 0x0000000000958e97 in bpf_object.collect_prog_relos () at libbpf.c:4206 4206 in libbpf.c (gdb) bt #0 0x0000000000958e97 in bpf_object.collect_prog_relos () at libbpf.c:4206 #1 0x000000000094f9d6 in bpf_object.collect_relos () at libbpf.c:6706 #2 0x000000000092bef3 in bpf_object_open () at libbpf.c:7437 #3 0x000000000092c046 in bpf_object.open_mem () at libbpf.c:7497 #4 0x0000000000924afa in LLVMFuzzerTestOneInput () at fuzz/bpf-object-fuzzer.c:16 #5 0x000000000060be11 in testblitz_engine::fuzzer::Fuzzer::run_one () #6 0x000000000087ad92 in tracing::span::Span::in_scope () #7 0x00000000006078aa in testblitz_engine::fuzzer::util::walkdir () #8 0x00000000005f3217 in testblitz_engine::entrypoint::main::{{closure}} () #9 0x00000000005f2601 in main () (gdb) scn_data was null at this code(tools/lib/bpf/src/libbpf.c): if (rel->r_offset % BPF_INSN_SZ || rel->r_offset >= scn_data->d_size) { The scn_data is derived from the code above: scn = elf_sec_by_idx(obj, sec_idx); scn_data = elf_sec_data(obj, scn); relo_sec_name = elf_sec_str(obj, shdr->sh_name); sec_name = elf_sec_name(obj, scn); if (!relo_sec_name || !sec_name)// don't check whether scn_data is NULL return -EINVAL; In certain special scenarios, such as reading a malformed ELF file, it is possible that scn_data may be a null pointer The Linux kernel CVE team has assigned CVE-2023-52592 to this issue. Affected and fixed versions =========================== Fixed in 5.15.149 with commit 90dbf4535668 Fixed in 6.1.77 with commit 12473265f50c Fixed in 6.6.16 with commit 5f3e436832e8 Fixed in 6.7.4 with commit ab26541270c7 Fixed in 6.8-rc1 with commit fc3a5534e2a8 Please see https://www.kernel.org or a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2023-52592 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: tools/lib/bpf/libbpf.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/90dbf4535668042fac0d7201ce9e2c8c770c578a https://git.kernel.org/stable/c/12473265f50c1e27b0dfd9735738ac418c4bfcce https://git.kernel.org/stable/c/5f3e436832e86b826a6450eb8d1aaa51205a758e https://git.kernel.org/stable/c/ab26541270c722eedf8eefd62797c3ce3d18a91b https://git.kernel.org/stable/c/fc3a5534e2a8855427403113cbeb54af5837bbe0