Wysoka

Arbitrary File Creation/Overwrite due to insufficient absolute path sanitization

  • Ujawniono: 03.08.2021
  • Aktualizacja: 11.10.2026 10:22

Impact

Arbitrary File Creation, Arbitrary File Overwrite, Arbitrary Code Execution

node-tar aims to prevent extraction of absolute file paths by turning absolute paths into relative paths when the preservePaths flag is not set to true. This is achieved by stripping the absolute path root from any absolute file paths contained in a tar file. For example /home/user/.bashrc would turn into home/user/.bashrc.

This logic was insufficient when file paths contained repeated path roots such as ////home/user/.bashrc. node-tar would only strip a single path root from such paths. When given an absolute file path with repeating path roots, the resulting path (e.g. ///home/user/.bashrc) would still resolve to an absolute path, thus allowing arbitrary file creation and overwrite.

Patches

3.2.2 || 4.4.14 || 5.0.6 || 6.1.1

NOTE: an adjacent issue CVE-2021-32803 affects this release level. Please ensure you update to the latest patch levels that address CVE-2021-32803 as well if this adjacent issue affects your node-tar use case.

Workarounds

Users may work around this vulnerability without upgrading by creating a custom onentry method which sanitizes the entry.path or a filter method which removes entries with absolute paths.

js
const path = require('path')
const tar = require('tar')

tar.x({
  file: 'archive.tgz',
  // either add this function...
  onentry: (entry) => {
    if (path.isAbsolute(entry.path)) {
      entry.path = sanitizeAbsolutePathSomehow(entry.path)
      entry.absolute = path.resolve(entry.path)
    }
  },

  // or this one
  filter: (file, entry) => {
    if (path.isAbsolute(entry.path)) {
      return false
    } else {
      return true
    }
  }
})

Users are encouraged to upgrade to the latest patch versions, rather than attempt to sanitize tar input themselves.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka npm tar < 3.2.2, >= 4.0.0, < 4.4.14, >= 5.0.0, < 5.0.6, >= 6.0.0, < 6.1.1 3.2.2, 4.4.14, 5.0.6, 6.1.1

Odnośniki

Ocena CVSS 8.2/10
Wektor CVSS
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Słabość (CWE)
CWE-22
Platforma
npm
Paczka
tar
Ujawniono
03.08.2021
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-3jfq-g458-7qm9 - CC BY 4.0

Historia podatności: tar

Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (21) w archiwum
Wszystkich wpisów
21
Pierwsza → ostatnia
10.2017 07.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 1
  • Wysoka 15
  • Średnia 5

Ujawnienia w latach

  1. 2017: 1
  2. 2018: 0
  3. 2019: 1
  4. 2020: 0
  5. 2021: 5
  6. 2022: 0
  7. 2023: 0
  8. 2024: 1
  9. 2025: 1
  10. 2026: 12
Istotność:
  1. Krytyczna · 7.5 CVE-2026-59873 < 7.5.19 7.5.19
  2. Wysoka CVE-2026-31802 < 7.5.11 7.5.11
  3. Wysoka CVE-2026-29786 < 7.5.10 7.5.10
  4. Wysoka · 8.2 CVE-2021-37701 >= 3.0.0, < 4.4.16, >= 5.0.0, < 5.0.8, >= 6.0.0, < 6.1.7 4.4.16, 5.0.8, 6.1.7
  5. Wysoka · 8.2 CVE-2021-37712 >= 3.0.0, < 4.4.18, >= 5.0.0, < 5.0.10, >= 6.0.0, < 6.1.9 4.4.18, 5.0.10, 6.1.9
  6. Wysoka · 8.2 CVE-2021-37713 < 4.4.18, >= 5.0.0, < 5.0.10, >= 6.0.0, < 6.1.9 4.4.18, 5.0.10, 6.1.9
  7. Arbitrary File Creation/Overwrite due to insufficient absolute path sanitization ten wpis
    Wysoka · 8.2 CVE-2021-32804 < 3.2.2, >= 4.0.0, < 4.4.14, >= 5.0.0, < 5.0.6, >= 6.0.0, < 6.1.1 3.2.2, 4.4.14, 5.0.6, 6.1.1
  8. Wysoka · 8.2 CVE-2021-32803 >= 3.0.0, < 3.2.3, >= 4.0.0, < 4.4.15, >= 5.0.0, < 5.0.7, >= 6.0.0, < 6.1.2 3.2.3, 4.4.15, 5.0.7, 6.1.2
  9. Wysoka · 7.5 CVE-2018-20834 >= 3.0.0, < 4.4.2, < 2.2.2 4.4.2, 2.2.2
  10. Wysoka · 7.5 CVE-2015-8860 < 2.0.0 2.0.0

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.