CVE-2017-1000382
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedVIM version 8.0.1187 (and other versions most likely) ignores umask when creating a swap file ("[ORIGINAL_FILENAME].swp") resulting in files that may be world readable or otherwise accessible in ways not intended by the user running the vi binary.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceVIM version 8.0.1187 and possibly other versions ignore the system's umask when creating swap files (named '[ORIGINAL_FILENAME].swp'), resulting in swap files being created with overly permissive permissions that may be world-readable or accessible to other users on the system.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data<= 8.0.1187CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Local
- Complexity
- Low
- Privileges
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- None
- Availability
- None
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Check installed Vim versionRun 'vim --version' or 'vim -version' and locate the version number in the outputAffected if Version is 8.0.1187 or lower (the output will show a version number like '8.0' or '8.0.XXXX' that is less than or equal to 8.0.1187)
-
Identify the system umaskRun 'umask' in a shell to see the current umask value (e.g., 0022, 0077)Affected if A umask is set that should restrict permissions (such as 0022 or more restrictive), but Vim ignores it for swap files
-
Create a test file and edit it with VimCreate a temporary file (e.g., 'touch /tmp/testvimswap.txt'), then open it with Vim and immediately exit (press Esc then :q) to trigger creation of a .swp fileAffected if A .swp file is created in the same directory (e.g., /tmp/testvimswap.txt.swp)
-
Inspect the permissions of the generated .swp fileRun 'ls -la /tmp/testvimswap.txt.swp' to view the file permissions (look for permissions like '-rw-r--r--' indicating world-readable)Affected if The .swp file has permissions that are more permissive than expected based on the umask (e.g., if umask is 0022, expected is 644 but you see 666 or other overly permissive settings)
-
Compare .swp permissions against expected umask resultCalculate expected permissions: subtract umask from 666 (for files). For umask 0022, expected is 644. For umask 0077, expected is 600. Verify if the actual .swp file permissions match or exceed these expected valuesAffected if The .swp file permissions are more open than what the umask should produce, meaning other users on the system can read the swap file
A user is affected if their Vim version is 8.0.1187 or lower AND the .swp files created are readable by other users (permissions more permissive than umask should allow).
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
From vendor dataEnsure VIM is patched to respect umask settings, or audit and remove existing .swp files with insecure permissions; consider implementing alternative swap file handling or file access controls for sensitive files.
- Consultation2.0 h
- Implementation4.0 h
- Testing2.0 h
- Review / QA1.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $2,560.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2017-1000382 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2017-1000382 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data