]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
elf_note_prpsinfo: handle more failures from proc_getargv()
authorKonstantin Belousov <kib@FreeBSD.org>
Fri, 3 Jun 2022 08:21:23 +0000 (11:21 +0300)
committerMark Johnston <markj@FreeBSD.org>
Tue, 9 Aug 2022 20:00:43 +0000 (16:00 -0400)
commit69a456c0b60bb6d1122391e1c78243aec345f36c
treea602521e956dbc37ac3721207982e47dd9c6e484
parent26db194f3db1238b9339bde23a82def8cfee10b1
elf_note_prpsinfo: handle more failures from proc_getargv()

Resulting sbuf_len() from proc_getargv() might return 0 if user mangled
ps_strings enough. Also, sbuf_len() API contract is to return -1 if the
buffer overflowed. The later should not occur because get_ps_strings()
checks for catenated length, but check for this subtle detail explicitly
as well to be more resilent.

The end result is that p_comm is used in this situations.

Approved by: so
Security: FreeBSD-SA-22:09.elf
Reported by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Reviewed by: delphij, markj
admbugs: 988
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35391

(cherry picked from commit 00d17cf342cd9f4f8fd1dcd79c8caec359145532)
(cherry picked from commit 8a44a2c644fc6d4ec1740fcc0b3ff01eac989ddf)
sys/kern/imgact_elf.c