Skip to content

Commit 081e4c4

Browse files
catalinv-nccxiaoxiang781216
authored andcommitted
drivers/: Multiple Drivers Are Registered With World Writable - Part 2
Permissions (Part 2) Description: In kernel builds, any unprivileged process running on the NuttX device can open /dev/efuse and attempt to read/write fuse content. Reading the fuses may provide valuable information to an attacker controlling the user process. The write operation, in extreme cases where the fuse blocks are not locked, may brick the device. DISCLAIMER: I tried to be strict with the settings, better to relax them later if it's needed. This is part of apache#19410 See apache#19410 Compiles ok. Signed-off-by: Catalin Visinescu <catalin_visinescu@yahoo.com>
1 parent f20cf4a commit 081e4c4

197 files changed

Lines changed: 207 additions & 207 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

arch/xtensa/src/common/espressif/esp_dedic_gpio.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,7 @@ struct file *esp_dedic_gpio_new_bundle(
684684
dedic_gpio_common[cpu].refs++;
685685

686686
register_driver(config->path, &dedic_gpio_ops,
687-
0666, priv);
687+
0600, priv);
688688
return (struct file *)priv;
689689
}
690690

arch/xtensa/src/common/espressif/esp_nxdiag.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ static ssize_t esp_nxdiag_read(struct file *filep,
313313

314314
static int esp_nxdiag_register(void)
315315
{
316-
return register_driver("/dev/nxdiag", &g_nxdiagops, 0440, NULL);
316+
return register_driver("/dev/nxdiag", &g_nxdiagops, 0400, NULL);
317317
}
318318

319319
/****************************************************************************

arch/xtensa/src/common/espressif/esp_temperature_sensor.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ static void esp_temp_sensor_register(struct esp_temp_priv_s *priv)
415415
{
416416
#ifndef CONFIG_ESPRESSIF_TEMP_UORB
417417
register_driver(CONFIG_ESPRESSIF_TEMP_PATH, &g_esp_temp_sensor_fops,
418-
0666, priv);
418+
0600, priv);
419419
#else
420420
priv->lower.type = SENSOR_TYPE_TEMPERATURE;
421421
sensor_register(&priv->lower, CONFIG_ESPRESSIF_TEMP_PATH_DEVNO);

boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ int ak09912_scu_register(const char *devpath, int minor,
556556
/* Register the character driver */
557557

558558
snprintf(path, sizeof(path), "%s%d", devpath, minor);
559-
ret = register_driver(path, &g_ak09912fops, 0660, priv);
559+
ret = register_driver(path, &g_ak09912fops, 0640, priv);
560560
if (ret < 0)
561561
{
562562
snerr("Failed to register driver: %d\n", ret);

boards/arm/cxd56xx/drivers/sensors/bm1383glv_scu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ int bm1383glv_register(const char *devpath, int minor,
541541
/* Register the character driver */
542542

543543
snprintf(path, sizeof(path), "%s%d", devpath, minor);
544-
ret = register_driver(path, &g_bm1383glvfops, 0660, priv);
544+
ret = register_driver(path, &g_bm1383glvfops, 0640, priv);
545545
if (ret < 0)
546546
{
547547
snerr("Failed to register driver: %d\n", ret);

boards/arm/cxd56xx/drivers/sensors/bm1422gmv_scu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@ int bm1422gmv_register(const char *devpath, int minor,
525525
/* Register the character driver */
526526

527527
snprintf(path, sizeof(path), "%s%d", devpath, minor);
528-
ret = register_driver(path, &g_bm1422gmvfops, 0660, priv);
528+
ret = register_driver(path, &g_bm1422gmvfops, 0640, priv);
529529
if (ret < 0)
530530
{
531531
snerr("Failed to register driver: %d\n", ret);

boards/arm/samv7/common/src/sam_progmem.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ static int sam_progmem_register_driver(int minor, struct mtd_dev_s *mtd,
7979

8080
/* Register the MTD driver */
8181

82-
ret = register_mtddriver(devpath, mtd, 0755, NULL);
82+
ret = register_mtddriver(devpath, mtd, 0750, NULL);
8383
if (ret < 0)
8484
{
8585
ferr("ERROR: register_mtddriver %s failed: %d\n", devpath, ret);

boards/arm/stm32l1/stm32ldiscovery/src/stm32_lcd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1584,7 +1584,7 @@ int stm32_slcd_initialize(void)
15841584

15851585
/* Register the LCD device driver */
15861586

1587-
ret = register_driver("/dev/slcd0", &g_slcdops, 0644, &g_slcdstate);
1587+
ret = register_driver("/dev/slcd0", &g_slcdops, 0640, &g_slcdstate);
15881588
g_slcdstate.initialized = true;
15891589

15901590
/* Then clear the display */

boards/mips/pic32mx/pic32mx7mmb/src/pic32_touchscreen.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1371,7 +1371,7 @@ int pic32mx_tsc_setup(int minor)
13711371
snprintf(devname, sizeof(devname), DEV_FORMAT, minor);
13721372
iinfo("Registering %s\n", devname);
13731373

1374-
ret = register_driver(devname, &g_tc_fops, 0660, priv);
1374+
ret = register_driver(devname, &g_tc_fops, 0640, priv);
13751375
if (ret < 0)
13761376
{
13771377
ierr("ERROR: register_driver() failed: %d\n", ret);

boards/mips/pic32mx/sure-pic32mx/src/pic32mx_lcd1602.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1076,7 +1076,7 @@ int up_lcd1602_initialize(void)
10761076

10771077
/* Register the LCD device driver */
10781078

1079-
ret = register_driver("/dev/lcd1602", &g_lcdops, 0644, &g_lcd1602);
1079+
ret = register_driver("/dev/lcd1602", &g_lcdops, 0640, &g_lcd1602);
10801080
g_lcd1602.initialized = true;
10811081
}
10821082

0 commit comments

Comments
 (0)