CVE-2016-7032: High severity Todd Miller Sudo vulnerability

Published Sep 2, 2016
·
Updated

Florian Weimer of Red Hat reports:

the sudoers manual page says this:

EXEC and NOEXEC

If sudo has been compiled with noexec support and the underly‐ ing operating system supports it, the NOEXEC tag can be used to prevent a dynamically-linked executable from running further commands itself.

In the following example, user aaron may run /usr/bin/more and /usr/bin/vi but shell escapes will be disabled.

aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi

And:

To enable noexec for a command, use the NOEXEC tag as documented in the User Specification section above. Here is that example again:

aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi

This allows user aaron to run /usr/bin/more and /usr/bin/vi with noexec enabled. This will prevent those two commands from executing other commands (such as a shell). If you are unsure whether or not your system is capable of supporting noexec you can always just try it out and check whether shell escapes work when noexec is enabled.

However, the filtering DSO does not intercept all glibc functions which allow to spawn a shell. At least popen, system, and wordexp are missing:

Show quoted text 0000000000000c80 T execl 0000000000000cc0 T execl 0000000000000d00 T execl 0000000000000d40 T execle 0000000000000d80 T execle 0000000000000dc0 T execle 0000000000000e00 T execlp 0000000000000e40 T execlp 0000000000000e80 T execlp 0000000000000ec0 T exect 0000000000000f00 T exect 0000000000000f40 T exect 0000000000000f80 T execv 0000000000000fc0 T execv 0000000000001000 T execv 00000000000011c0 T execve 0000000000001200 T execve 0000000000001240 T execve 0000000000001040 T execvp 0000000000001080 T execvp 00000000000010c0 T execvp 0000000000001100 T execvP 0000000000001140 T execvP 0000000000001180 T execvP 0000000000001280 T execvpe 00000000000012c0 T execvpe 0000000000001300 T execvpe 0000000000001340 T fexecve 0000000000001380 T fexecve 00000000000013c0 T fexecve 0000000000001480 T posixspawn 0000000000001440 T posixspawn 0000000000001400 T posixspawn 0000000000001540 T posixspawnp 0000000000001500 T posixspawnp 00000000000014c0 T posixspawnp

The source file src/sudonoexec.c contains this comment:

/ Dummy versions of the execve() family of syscalls. We don't need to stub out all of them, just the ones that correspond to actual system calls (which varies by OS). Note that it is still possible to access the real syscalls via the syscall() interface but very few programs actually do that. /

This is wrong. Interposing execve does not override internal calls to execve within glibc.

The right fix is to set a seccomp filter which blocks execve in the DSO (after enabling PRSETNONEWPRIVS), rather than attempting to play catch-up with glibc.

Other sources

sudonoexec.so in Sudo before 1.8.15 on Linux might allow local users to bypass intended noexec command restrictions via an application that calls the (1) system or (2) popen function.

Launchpad

Affected Software

30 affected componentsFixes available
redhat/sudo<1.8.15
1.8.15
Todd Miller Sudo=1.6.8
Todd Miller Sudo=1.6.9
Todd Miller Sudo=1.7.0
Todd Miller Sudo=1.7.1
Todd Miller Sudo=1.7.2
Todd Miller Sudo=1.7.3
Todd Miller Sudo=1.7.4
Todd Miller Sudo=1.7.5
Todd Miller Sudo=1.7.6
Todd Miller Sudo=1.7.7
Todd Miller Sudo=1.7.8
Todd Miller Sudo=1.7.9
Todd Miller Sudo=1.7.10
Todd Miller Sudo=1.8.0
Todd Miller Sudo=1.8.1
Todd Miller Sudo=1.8.2
Todd Miller Sudo=1.8.3
Todd Miller Sudo=1.8.4
Todd Miller Sudo=1.8.5
Todd Miller Sudo=1.8.6
Todd Miller Sudo=1.8.7
Todd Miller Sudo=1.8.8
Todd Miller Sudo=1.8.9
Todd Miller Sudo=1.8.10
Todd Miller Sudo=1.8.11
Todd Miller Sudo=1.8.12
Todd Miller Sudo=1.8.13
Todd Miller Sudo=1.8.14-p3
debian/sudo
1.9.5p2-3+deb11u11.9.5p2-3+deb11u31.9.13p3-1+deb12u31.9.13p3-1+deb12u21.9.16p2-3+deb13u11.9.17p2-4

Event History

Apr 14, 2017
CVE Published
via MITRE·06:00 PM
Data Sourced
via MITRE·06:00 PM
Description
Data Sourced
via NVD·06:59 PM
DescriptionSeverityWeaknessAffected Software
Jan 11, 2024
Data Sourced
via Launchpad·10:20 PM
Description
Feb 19, 2026
Data Sourced
via Ubuntu·06:17 PM
RemedyDescriptionSeverityAffected Software
Mar 14, 2026
Data Sourced
via Debian·06:40 PM
DescriptionAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2016-7032?

CVE-2016-7032 is a vulnerability in Sudo before 1.8.15 on Linux that allows local users to bypass intended noexec command restrictions.

2

How does the sudo_noexec.so vulnerability work?

The sudo_noexec.so vulnerability allows local users to bypass the intended noexec command restrictions by using an application that calls the system or popen function.

3

How severe is CVE-2016-7032?

CVE-2016-7032 has a severity rating of high (7 out of 10).

4

Which versions of Sudo are affected by CVE-2016-7032?

Sudo versions before 1.8.15 on Linux are affected by CVE-2016-7032.

5

Where can I find more information about CVE-2016-7032?

You can find more information about CVE-2016-7032 on the following references: [1] [2] [3].

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203