CVE-2017-0358
ntfs-3g: Modprobe influence vulnerability via environment variables
Jann Horn of Google Project Zero discovered that NTFS-3G, a read-write NTFS driver for FUSE, does not scrub the environment before executing modprobe with elevated privileges. A local user can take advantage of this flaw for local root privilege escalation.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List
7.8
ntfs-3g: Modprobe influence vulnerability via environment variables
Jann Horn of Google Project Zero discovered that NTFS-3G, a read-write NTFS driver for FUSE, does not scrub the environment before executing modprobe with elevated privileges. A local user can take advantage of this flaw for local root privilege escalation.
- Record
CVE-2017-0358- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-02
EUVDEUVD-2017-0714
7.8
Jann Horn of Google Project Zero discovered that NTFS-3G, a read-write NTFS driver for FUSE, does not scrub the environment before executing modprobe with elevated privileges. A local user can take advantage of this flaw for local root privilege escalation.
- Record
EUVD-2017-0714- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-vghw-r4fc-pgpf
7.8
Jann Horn of Google Project Zero discovered that NTFS-3G, a read-write NTFS driver for FUSE, does...
Jann Horn of Google Project Zero discovered that NTFS-3G, a read-write NTFS driver for FUSE, does not scrub the environment before executing modprobe with elevated privileges. A local user can take advantage of this flaw for local root privilege escalation.
- Record
GHSA-vghw-r4fc-pgpf- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-02
NVD
7.8
Jann Horn of Google Project Zero discovered that NTFS-3G, a read-write NTFS driver for FUSE, does not scrub the environment before executing modprobe with elevated privileges. A local user can take advantage of this flaw for local root privilege escalation.
- Record
CVE-2017-0358- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.2 High
AV:L/AC:L/Au:N/C:C/I:C/A:C - Weakness
- CWE-269
- Updated
- 2026-11-02
OSV
7.8
Jann Horn of Google Project Zero discovered that NTFS-3G, a read-write NTFS driver for FUSE, does not scrub the environment before executing modprobe with elevated privileges. A local user can take advantage of this flaw for local root privilege escalation.
- Record
CVE-2017-0358- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2017-0358
7.8
Jann Horn of Google Project Zero discovered that NTFS-3G, a read-write NTFS driver for FUSE, does not scrub the environment before executing modprobe with elevated privileges. A local user can take advantage of this flaw for local root privilege escalation.
- Record
DEBIAN-CVE-2017-0358- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSVUBUNTU-CVE-2017-0358
7.8
Jann Horn of Google Project Zero discovered that NTFS-3G, a read-write NTFS driver for FUSE, does not scrub the environment before executing modprobe with elevated privileges. A local user can take advantage of this flaw for local root privilege escalation.
- Record
UBUNTU-CVE-2017-0358- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVSUSE-SU-2018:2070-1 No score
Security update for ntfs-3g
This update for ntfs-3g fixes the following issues:
- CVE-2017-0358: Missing sanitization of the environment during a call to modprobe allowed local users to escalate fo root privilege (bsc#1022500)
- Record
SUSE-SU-2018:2070-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:3587-1 No score
Security update for ntfs-3g_ntfsprogs
This update for ntfs-3g_ntfsprogs fixes the following issues:
- CVE-2017-0358: Missing sanitization of the environment during a call to modprobe allowed local users to escalate fo root privilege (bsc#1022500)
- Record
SUSE-SU-2018:3587-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:3587-2 No score
Security update for ntfs-3g_ntfsprogs
This update for ntfs-3g_ntfsprogs fixes the following issues:
- CVE-2017-0358: Missing sanitization of the environment during a call to modprobe allowed local users to escalate fo root privilege (bsc#1022500)
- Record
SUSE-SU-2018:3587-2- Updated
- 2026-11-02
OSVSUSE-SU-2021:2965-1 No score
Security update for ntfs-3g_ntfsprogs
This update for ntfs-3g_ntfsprogs fixes the following issues:
Update to version 2021.8.22 (bsc#1189720):
- Signalled support of UTIME_OMIT to external libfuse2
- Updated the repository change in the README
- Fixed vulnerability threats caused by maliciously tampered NTFS partitions
- Security fixes: CVE-2021-33285, CVE-2021-33286, CVE-2021-33287, CVE-2021-33289, CVE-2021-35266, CVE-2021-35267, CVE-2021-35268, CVE-2021-35269, CVE-2021-39251, CVE-2021-39252, CVE-2021-39253, CVE_2021-39254, CVE-2021-39255, CVE-2021-39256, CVE-2021-39257, CVE-2021-39258, CVE-2021-39259, CVE-2021-39260, CVE-2021-39261, CVE-2021-39262, CVE-2021-39263.
Changes in version 2017.3.23:
- Delegated processing of special reparse points to external plugins
- Allowed kernel cacheing by lowntfs-3g when not using Posix ACLs
- Enabled fallback to read-only mount when the volume is hibernated
- Made a full check for whether an extended attribute is allowed
- Moved secaudit and usermap to ntfsprogs (now ntfssecaudit and ntfsusermap)
- Enabled encoding broken UTF-16 into broken UTF-8
- Autoconfigured selecting <sys/sysmacros.h> vs <sys/mkdev>
- Allowed using the full library API on systems without extended attributes support
- Fixed DISABLE_PLUGINS as the condition for not using plugins
- Corrected validation of multi sector transfer protected records
- Denied creating/removing files from $Extend
- Returned the size of locale encoded target as the size of symlinks
Changes in version 2016.2.22:
-
Changes to NTFS-3G driver:
- Write as much data as possible in compressed attribute pwrite
- Fixed getting space for making an index non resident
- Alleviated constraints relative to reparse points
- Fixed special case of decompressing a runlist
- Fixed returning the trimming count to fstrim()
- Fixed the range of valid subauthority counts in a SID
- Updated the read-only flag even when the security attribute was cached
- Defended against reusing data from an invalid MFT record
- Simplified NTFS ACLs when group same as owner and same permission as world
- Packed/unpacked st_rdev transported as 32-bits on Solaris 64-bits
- Zero uninitialized bytes before writing compressed data
- Clear the environment when starting mount or umount
- Implemented rewinding a directory in lowntfs-3g
- Use incremental offsets when reading a directory in lowntfs-3g
-
Changes to mkntfs:
- Make installing mkntfs /sbin symlinks dependent on ENABLE_MOUNT_HELPER
- Mention the starting sector when it overflows in mkntfs
- Upgraded the upper-case table to same as Windows 7, 8 and 10
-
Changes to ntfsresize:
- Fixed relocating the MFT runlists
- Decode the full list of bad clusters
- Fixed resizing an extended bad cluster list
-
Changes to ntfsclone:
- Decoded the full list of bad clusters
-
Changes to ntfsinfo:
- Displayed reparse point information
-
Changes to ntfsdecrypt:
- Fixed DESX decryption
-
Changes to ntfswipe:
- Added clarifications about several options to the manual
-
New ntfsprogs tool:
- Included ntfsrecover to recover the updates committed by Windows (experimental)
-
Overall:
- Made a general cleanup of endianness types for easier checks
Changes in version 2015.3.14:
- ntfs-3g: Fixed inserting a new ACL after wiping out by chkdsk
- ntfs-3g: Fixed Windows-type inheritance
- ntfs-3g: Fixed ignoring the umask mount option when permissions are used
- ntfs-3g: Fixed checking permissions when Posix ACLs are compiled in but not enabled
- ntfs-3g: Disabled option remove_hiberfile on read-only mounts
- ntfs-3g: Implemented an extended attribute to get/set EAs
- ntfs-3g: Avoid full runlist updating in more situations
- ntfs-3g: Update ctime after setting an ACL
- ntfs-3g: Use MFT record 15 for the first extent to MFT:DATA
- ntfs-3g: Ignore the sloppy mount option (-s)
- ntfs-3g: Implemented FITRIM (fstrim) ioctl
- ntfs-3g: Reengineered the compression algorithm
- ntfsprogs: Added manuals for ntfsdecrypt,…
- Record
SUSE-SU-2021:2965-1- Updated
- 2026-11-02
OSVUSN-3182-1 No score
ntfs-3g vulnerability
Jann Horn discovered that NTFS-3G incorrectly filtered environment variables when using the modprobe utility. A local attacker could possibly use this issue to load arbitrary kernel modules.
- Record
USN-3182-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
ntfs-3gDebian:12 |
before 1:2016.2.22AR.1-4 | 1:2016.2.22AR.1-4 |
ntfs-3gDebian:13 |
before 1:2016.2.22AR.1-4 | 1:2016.2.22AR.1-4 |
ntfs-3gDebian:14 |
before 1:2016.2.22AR.1-4 | 1:2016.2.22AR.1-4 |
ntfs-3gDebian:7 |
before 1:2012.1.15AR.5-2.1+deb7u3, plus listed versions 1:2012.1.15AR.5-2.11:2012.1.15AR.5-2.1+deb7u11:2012.1.15AR.5-2.1+deb7u2 |
1:2012.1.15AR.5-2.1+deb7u3 |
ntfs-3gDebian:8 |
before 1:2014.2.15AR.2-1+deb8u3, plus listed versions 1:2014.2.15AR.2-11:2014.2.15AR.2-1+deb8u11:2014.2.15AR.2-1+deb8u2 |
1:2014.2.15AR.2-1+deb8u3 |
ntfs-3gSUSE:Linux Enterprise Software Development Kit 11 SP4 |
before 2011.4.12-0.9.3.1 | 2011.4.12-0.9.3.1 |
ntfs-3g_ntfsprogsSUSE:Linux Enterprise Desktop 12 SP3 |
before 2013.1.13-5.3.1 | 2013.1.13-5.3.1 |
ntfs-3g_ntfsprogsSUSE:Linux Enterprise Software Development Kit 12 SP3 |
before 2013.1.13-5.3.1 | 2013.1.13-5.3.1 |
ntfs-3g_ntfsprogsSUSE:Linux Enterprise Workstation Extension 12 SP3 |
before 2013.1.13-5.3.1 | 2013.1.13-5.3.1 |
ntfs-3g_ntfsprogsSUSE:Linux Enterprise Desktop 12 SP4 |
before 2013.1.13-5.3.1 | 2013.1.13-5.3.1 |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
ntfs-3g_ntfsprogsSUSE:Linux Enterprise Software Development Kit 12 SP4 |
before 2013.1.13-5.3.1 | 2013.1.13-5.3.1 |
ntfs-3g_ntfsprogsSUSE:Linux Enterprise Workstation Extension 12 SP4 |
before 2013.1.13-5.3.1 | 2013.1.13-5.3.1 |
ntfs-3g_ntfsprogsSUSE:Linux Enterprise Software Development Kit 12 SP5 From an advisory covering 22 CVEs |
before 2021.8.22-5.9.1 | 2021.8.22-5.9.1 |
ntfs-3g_ntfsprogsSUSE:Linux Enterprise Workstation Extension 12 SP5 From an advisory covering 22 CVEs |
before 2021.8.22-5.9.1 | 2021.8.22-5.9.1 |
ntfs-3gUbuntu:16.04:LTS |
before 1:2015.3.14AR.1-1ubuntu0.1, plus listed versions 1:2014.2.15AR.3-31:2015.3.14AR.1-11:2015.3.14AR.1-1build1 |
1:2015.3.14AR.1-1ubuntu0.1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Metasploit | Debian/Ubuntu ntfs-3g Local Privilege Escalation | 2017-01-05 |
| Exploit-DB | ntfs-3g (Debian 9) - Local Privilege Escalation | 2017-02-03 |
| Exploit-DB | ntfs-3g - Unsanitized modprobe Environment Privilege Escalation | 2017-02-14 |
| PoC in GitHub | Wangsafz/cve-2017-0358.sh | 2022-04-12 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, exploits, facts | ||
| first indexed | CVE List, EUVD, Exploit-DB, GitHub Advisories, Metasploit, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2017-0358 is a high vulnerability (CVSS 7.8) in Ntfs-3g, published February 1, 2017. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 2.19%, the 82nd percentile. Fixed in ntfs-3g 1:2016.2.22AR.1-4.
References
security.gentoo.org/glsa/201702-10
debian.org/security/2017/dsa-3780
exploit-db.com/exploits/41240
exploit-db.com/exploits/41356
securityfocus.com/bid/95987
marc.info?l=oss-security&m=148594671929354&w=2
Show 35 moreShow less
openwall.com/lists/oss-security/2017/02/04/1
nvd.nist.gov/vuln/detail/CVE-2017-0358
github.com/advisories/GHSA-vghw-r4fc-pgpf
security-tracker.debian.org/tracker/CVE-2017-0358
suse.com/support/update/announcement/2018/suse-su-20182070-1
bugzilla.suse.com/1022500
suse.com/security/cve/CVE-2017-0358
suse.com/support/update/announcement/2018/suse-su-20183587-1
suse.com/support/update/announcement/2018/suse-su-20183587-2
suse.com/support/update/announcement/2021/suse-su-20212965-1
bugzilla.suse.com/1189720
suse.com/security/cve/CVE-2019-9755
suse.com/security/cve/CVE-2021-33285
suse.com/security/cve/CVE-2021-33286
suse.com/security/cve/CVE-2021-33287
suse.com/security/cve/CVE-2021-33289
suse.com/security/cve/CVE-2021-35266
suse.com/security/cve/CVE-2021-35267
suse.com/security/cve/CVE-2021-35268
suse.com/security/cve/CVE-2021-35269
suse.com/security/cve/CVE-2021-39251
suse.com/security/cve/CVE-2021-39252
suse.com/security/cve/CVE-2021-39253
suse.com/security/cve/CVE-2021-39255
suse.com/security/cve/CVE-2021-39256
suse.com/security/cve/CVE-2021-39257
suse.com/security/cve/CVE-2021-39258
suse.com/security/cve/CVE-2021-39259
suse.com/security/cve/CVE-2021-39260
suse.com/security/cve/CVE-2021-39261
suse.com/security/cve/CVE-2021-39262
suse.com/security/cve/CVE-2021-39263
ubuntu.com/security/CVE-2017-0358
ubuntu.com/security/notices/USN-3182-1
cve.org/CVERecord?id=CVE-2017-0358
Left out here: the rest of 1 source description. The JSON record has them.