GHSA-vw22-465p-8j5w CVE-2017-10689
Tarball permission preservation in puppet
- Severity
- 5.5 / 10
- Medium · CVSS 3.0
- Exploit chance (EPSS)
- 0.36%
- Chance of exploitation in the next 30 days. Higher than 29.33% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-269 Improper Privilege Management
- Fix
4.10.10- Upgrade puppet to this version or later
Description
When installing a module using the system tar, the PMT will filter filesystem permissions to a sane value. This may just be based on the user's umask.
When using minitar, files are unpacked with whatever permissions are in the tarball. This is potentially unsafe, as tarballs can be easily created with weird permissions.
Affected versions
RubyGems
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
puppet RubyGems → 4.10.10
- bundler
bundle update puppet # Gemfile: gem "puppet", ">= 4.10.10"
Severity breakdown
CVSS 3.0 5.5
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- Attack vector
- Local
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Weakness
CWE-269: Improper Privilege Management
The product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor.
How to prevent it
- Architecture and Design, Operation: Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
- Architecture and Design: Follow the principle of least privilege when assigning access rights to entities in a software system.
- Architecture and Design: Consider following the principle of separation of privilege. Require multiple conditions to be met before permitting access to a system resource.
References
Advisories
Packages
Other links
- github.com/puppetlabs/puppet/commit/17d9e02da3882e44c1876e2805cf9708481715ee
- github.com/puppetlabs/puppet/commit/2f1047f85e22cde139a421bc25d371f2ffc92cb1
- access.redhat.com/errata/RHSA-2018:2927
- github.com/rubysec/ruby-advisory-db/blob/master/gems/puppet/CVE-2017-10689.yml
- puppet.com/security/cve/CVE-2017-10689
- tickets.puppetlabs.com/browse/PUP-7866
- usn.ubuntu.com/3567-1
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-mpmx-gm5v-q789 Puppet uses predictable filenames, allowing arbitrary file overwrite | Medium | Also affects puppet |
| GHSA-9pvx-fwwh-w289 Puppet does not properly restrict access to node resources | Medium | Also affects puppet |
| GHSA-qh3g-27jf-3j54 Puppet allows local users to modify the permissions of arbitrary files | Medium | Also affects puppet |
| GHSA-8c56-v25w-f89c Puppet arbitrary file overwrite | Medium | Also affects puppet |
| GHSA-v58w-6xc2-w799 Puppet Denial of Service and Arbitrary File Write | Low | Also affects puppet |
| GHSA-c4mc-49hq-q275 Puppet uses predictable filenames, allowing arbitrary file overwrite | Medium | Also affects puppet |
| GHSA-6xxq-j39w-g3f6 Puppet Arbitrary Command Execution | Medium | Also affects puppet |
| GHSA-77hg-g8cc-5r37 Puppet Privilege Escallation | Medium | Also affects puppet |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor