1 Subject: [PATCH] Clean the environment
3 The OS X version has a more limited white list but does include
4 OS X specific variables such as __CF_USER_TEXT_ENCODING in its
8 sudo.man.in | 7 ++++++-
9 sudoers.in | 13 +++++++++++++
10 3 files changed, 21 insertions(+), 1 deletion(-)
12 diff --git a/env.c b/env.c
13 index 52dff6db..fc554bf1 100644
16 @@ -220,9 +220,11 @@ static const char *initial_checkenv_table[] = {
17 static const char *initial_keepenv_table[] = {
28 diff --git a/sudo.man.in b/sudo.man.in
29 index f88e4123..7f4eb4db 100644
32 @@ -834,7 +834,12 @@ The list of environment variables that
34 contained in the output of
37 +when run as root. This list reflects the built-in defaults,
38 +which may be overridden in \fIsudoers\fR.
40 +On OS X, \fIsudoers\fR has been configured to only whitelist a small set
41 +of environment variables by default. See the \fIsudoers\fR file for more
44 Note that the dynamic linker on most operating systems will remove
45 variables that can control dynamic linking from the environment of
46 diff --git a/sudoers.in b/sudoers.in
47 index a391cf44..9d42601e 100644
51 # Defaults!/usr/bin/sudoreplay !log_output
52 # Defaults!/usr/local/bin/sudoreplay !log_output
53 # Defaults!/sbin/reboot !log_output
55 +Defaults env_keep += "BLOCKSIZE"
56 +Defaults env_keep += "COLORFGBG COLORTERM"
57 +Defaults env_keep += "__CF_USER_TEXT_ENCODING"
58 +Defaults env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
59 +Defaults env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
60 +Defaults env_keep += "LINES COLUMNS"
61 +Defaults env_keep += "LSCOLORS"
62 +Defaults env_keep += "SSH_AUTH_SOCK"
63 +Defaults env_keep += "TZ"
64 +Defaults env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
65 +Defaults env_keep += "EDITOR VISUAL"
66 +Defaults env_keep += "HOME MAIL"
69 ## Runas alias specification