linux/drivers/target
Wang Haoran e73fe0eefa scsi: target: target_core_configfs: Add length check to avoid buffer overflow
commit 27e06650a5 upstream.

A buffer overflow arises from the usage of snprintf to write into the
buffer "buf" in target_lu_gp_members_show function located in
/drivers/target/target_core_configfs.c. This buffer is allocated with
size LU_GROUP_NAME_BUF (256 bytes).

snprintf(...) formats multiple strings into buf with the HBA name
(hba->hba_group.cg_item), a slash character, a devicename (dev->
dev_group.cg_item) and a newline character, the total formatted string
length may exceed the buffer size of 256 bytes.

Since snprintf() returns the total number of bytes that would have been
written (the length of %s/%sn ), this value may exceed the buffer length
(256 bytes) passed to memcpy(), this will ultimately cause function
memcpy reporting a buffer overflow error.

An additional check of the return value of snprintf() can avoid this
buffer overflow.

Reported-by: Wang Haoran <haoranwangsec@gmail.com>
Reported-by: ziiiro <yuanmingbuaa@gmail.com>
Signed-off-by: Wang Haoran <haoranwangsec@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-10-15 11:56:21 +02:00
..
iscsi scsi: target: iscsi: Fix timeout on deleted connection 2025-06-04 14:40:01 +02:00
loopback scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus() 2022-11-17 17:46:16 +00:00
sbp scsi: target: sbp: Replace enable attr with ops.enable 2021-10-04 23:27:38 -04:00
tcm_fc scsi: target: tcm_fc: Fix a kernel-doc header 2021-04-15 22:44:41 -04:00
Kconfig scsi: core: Rename CONFIG_BLK_SCSI_REQUEST to CONFIG_SCSI_COMMON 2021-07-28 22:24:27 -04:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
target_core_alua.c scsi: target: alua: Do not report emtpy port group 2022-09-15 21:42:44 -04:00
target_core_alua.h Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2017-11-24 19:19:20 -10:00
target_core_configfs.c scsi: target: target_core_configfs: Add length check to avoid buffer overflow 2025-10-15 11:56:21 +02:00
target_core_device.c scsi: target: core: Fix null-ptr-deref in target_alloc_device() 2024-11-01 01:56:00 +01:00
target_core_fabric_configfs.c scsi: target: configfs: Delete unnecessary checks for NULL 2021-11-18 23:07:02 -05:00
target_core_fabric_lib.c scsi: target: core: Generate correct identifiers for PR OUT transport IDs 2025-08-28 16:26:02 +02:00
target_core_file.c scsi: target: core: add missing file_{start,end}_write() 2024-01-25 15:27:42 -08:00
target_core_file.h scsi: target: target/file: Add support of direct and async I/O 2018-05-14 22:40:08 -04:00
target_core_hba.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
target_core_iblock.c scsi: target: iblock: Fold iblock_emulate_read_cap_with_block_size() into iblock_get_blocks() 2022-10-01 05:51:47 -04:00
target_core_iblock.h scsi: target: iblock: Add backend plug/unplug callouts 2021-03-04 17:37:02 -05:00
target_core_internal.h scsi: target: core: Generate correct identifiers for PR OUT transport IDs 2025-08-28 16:26:02 +02:00
target_core_pr.c scsi: target: core: Generate correct identifiers for PR OUT transport IDs 2025-08-28 16:26:02 +02:00
target_core_pr.h scsi: target: core: Unify NAA identifier generation 2021-05-15 14:14:28 -04:00
target_core_pscsi.c scsi: target: pscsi: Fix bio_put() for error case 2024-03-01 13:26:31 +01:00
target_core_pscsi.h scsi: target: pscsi: Remove struct pscsi_plugin_task 2022-03-01 22:21:49 -05:00
target_core_rd.c scsi: target: Add the DUMMY flag to rd_mcp 2021-04-05 23:26:38 -04:00
target_core_rd.h scsi: target: Add the DUMMY flag to rd_mcp 2021-04-05 23:26:38 -04:00
target_core_sbc.c SCSI misc on 20220804 2022-08-04 19:47:37 -07:00
target_core_spc.c scsi: target: core: Set MULTIP bit for se_device with multiple ports 2022-09-15 21:40:58 -04:00
target_core_stat.c scsi: target: core: De-RCU of se_lun and se_lun acl 2022-08-01 19:36:02 -04:00
target_core_tmr.c scsi: target: Fix multiple LUN_RESET handling 2023-05-11 23:03:19 +09:00
target_core_tpg.c scsi: target: Move sess cmd counter to new struct 2023-05-11 23:03:19 +09:00
target_core_transport.c scsi: target: core: Add TMF to tmr_list handling 2024-03-01 13:26:25 +01:00
target_core_ua.c scsi: target: use an enum to track emulate_ua_intlck_ctrl 2020-02-21 17:37:16 -05:00
target_core_ua.h scsi: target: Fix handling of removed LUNs 2018-07-02 16:44:32 -04:00
target_core_user.c genetlink: hold RCU in genlmsg_mcast() 2024-11-01 01:56:00 +01:00
target_core_xcopy.c scsi: target: Pass in cmd counter to use during cmd setup 2023-05-11 23:03:19 +09:00
target_core_xcopy.h scsi: target: core: Change the way target_xcopy_do_work() sets restiction on max I/O 2023-05-11 23:03:19 +09:00