All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2]  Fixes multiple sysctl proc_handler usage error
@ 2025-01-15 13:22 nicolas.bouchinet
  2025-01-15 13:22 ` [PATCH v4 1/2] coredump: Fixes core_pipe_limit sysctl proc_handler nicolas.bouchinet
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: nicolas.bouchinet @ 2025-01-15 13:22 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel
  Cc: Nicolas Bouchinet, Greg Kroah-Hartman, Jiri Slaby, Alexander Viro,
	Christian Brauner, Jan Kara, Luis Chamberlain, Kees Cook,
	Joel Granados, Andrew Morton, Neil Horman, Lin Feng,
	Theodore Ts'o

From: Nicolas Bouchinet <nicolas.bouchinet@ssi.gouv.fr>

Hi, while reading sysctl code I encountered two sysctl proc_handler
parameters common errors.

The first one is to declare .data as a different type thant the return of
the used .proc_handler, i.e. using proch_dointvec, thats convert a char
string to signed integers, and storing the result in a .data that is backed
by an unsigned int. User can then write "-1" string, which results in a
different value stored in the .data variable. This can lead to type
conversion errors in branches and thus to potential security issues.

From a quick search using regex and only for proc_dointvec, this seems to
be a pretty common mistake.

The second one is to declare .extra1 or .extra2 values with a .proc_handler
that don't uses them. i.e, declaring .extra1 or .extra2 using proc_dointvec
in order to declare conversion bounds do not work as do_proc_dointvec don't
uses those variables if not explicitly asked.

This patchset corrects three sysctl declaration that are buggy as an
example and is not exhaustive.

Nicolas

---

Changes since v3:
https://lore.kernel.org/all/20241217132908.38096-1-nicolas.bouchinet@clip-os.org/

* Fixed patch 2/2 extra* parameter typo detected by Joel Granados.
* Reworded patch 2/2 as suggested by Joel Granados.


Changes since v2:
https://lore.kernel.org/all/20241114162638.57392-1-nicolas.bouchinet@clip-os.org/

* Bound vdso_enabled to 0 and 1 as suggested by Joel Granados.
* Remove patch 3/3 since Greg Kroah-Hartman merged it.

Changes since v1:
https://lore.kernel.org/all/20241112131357.49582-1-nicolas.bouchinet@clip-os.org/

* Take Lin Feng review into account.

---

Nicolas Bouchinet (2):
  coredump: Fixes core_pipe_limit sysctl proc_handler
  sysctl: Fix underflow value setting risk in vm_table

 arch/sh/kernel/vsyscall/vsyscall.c | 3 ++-
 fs/coredump.c                      | 4 +++-
 2 files changed, 5 insertions(+), 2 deletions(-)

-- 
2.48.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-02-17 10:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-15 13:22 [PATCH v4 0/2] Fixes multiple sysctl proc_handler usage error nicolas.bouchinet
2025-01-15 13:22 ` [PATCH v4 1/2] coredump: Fixes core_pipe_limit sysctl proc_handler nicolas.bouchinet
2025-01-16  0:32   ` Kees Cook
2025-01-17 10:55     ` Nicolas Bouchinet
2025-01-15 13:22 ` [PATCH v4 2/2] sysctl: Fix underflow value setting risk in vm_table nicolas.bouchinet
2025-01-16  0:32   ` Kees Cook
2025-02-17 10:35 ` [PATCH v4 0/2] Fixes multiple sysctl proc_handler usage error Joel Granados

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.