Every CVE Search/ Get API key

CVE-2019-14751

NLTK Vulnerable To Path Traversal

7.5 HighPublic exploitFix available

CVE-2019-14751 is a high vulnerability (CVSS 7.5) in Nltk, published August 20, 2019. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 5.67%, the 92nd percentile. Fixed in nltk 3.4.5.

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
None

Exploit likelihood

5.67%Down 2.2 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 7.5

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Record
CVE-2019-14751
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:P/A:N
Weakness
CWE-22
Updated
2026-11-02
CVE List No score

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Record
CVE-2019-14751
Updated
2026-11-02
EUVDEUVD-2019-0091 No score

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Record
EUVD-2019-0091
Updated
2026-11-03
GitHub AdvisoriesGHSA-mr7p-25v2-35wr 8.7

NLTK Vulnerable To Path Traversal

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Record
GHSA-mr7p-25v2-35wr
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-22
Updated
2026-11-02
OSV 7.5

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Record
CVE-2019-14751
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVDEBIAN-CVE-2019-14751 7.5

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Record
DEBIAN-CVE-2019-14751
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
Show 11 moreShow less
OSVGHSA-mr7p-25v2-35wr 8.7

NLTK Vulnerable To Path Traversal

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Record
GHSA-mr7p-25v2-35wr
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-22
Updated
2026-11-02
OSVUBUNTU-CVE-2019-14751 7.5

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Record
UBUNTU-CVE-2019-14751
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVMGASA-2020-0160 No score

Updated python-nltk packages fix security vulnerability

Updated python-ntlk package fixes security vulnerability:

A vulnerability was found in NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ in an NLTK package (ZIP archive) that is mishandled during extraction (CVE-2019-14751).

Record
MGASA-2020-0160
Updated
2026-11-02
OSVopenSUSE-SU-2020:0436-1 No score

Security update for python-nltk

This update for python-nltk fixes the following issues:

Update to 3.4.5 (boo#1146427, CVE-2019-14751):

  • CVE-2019-14751: Fixed Zip slip vulnerability in downloader for the unlikely situation where a user configures their downloader to use a compromised server (boo#1146427)

Update to 3.4.4:

  • fix bug in plot function (probability.py)
  • add improved PanLex Swadesh corpus reader
  • add Text.generate()
  • add QuadgramAssocMeasures
  • add SSP to tokenizers
  • return confidence of best tag from AveragedPerceptron
  • make plot methods return Axes objects
  • don't require list arguments to PositiveNaiveBayesClassifier.train
  • fix Tree classes to work with native Python copy library
  • fix inconsistency for NomBank
  • fix random seeding in LanguageModel.generate
  • fix ConditionalFreqDist mutation on tabulate/plot call
  • fix broken links in documentation
  • fix misc Wordnet issues
  • update installation instructions

Version update to 3.4.1:

  • add chomsky_normal_form for CFGs
  • add meteor score
  • add minimum edit/Levenshtein distance based alignment function
  • allow access to collocation list via text.collocation_list()
  • support corenlp server options
  • drop support for Python 3.4
  • other minor fixes

Update to v3.4:

  • Support Python 3.7
  • New Language Modeling package
  • Cistem Stemmer for German
  • Support Russian National Corpus incl POS tag model
  • Krippendorf Alpha inter-rater reliability test
  • Comprehensive code clean-ups
  • Switch continuous integration from Jenkins to Travis

Updated to v3.3:

  • Support Python 3.6
  • New interface to CoreNLP
  • Support synset retrieval by sense key
  • Minor fixes to CoNLL Corpus Reader
  • AlignedSent
  • Fixed minor inconsistencies in APIs and API documentation
  • Better conformance to PEP8
  • Drop Moses Tokenizer (incompatible license)
Record
openSUSE-SU-2020:0436-1
Updated
2026-11-02
OSVopenSUSE-SU-2020:0440-1 No score

Security update for python-nltk

This update for python-nltk fixes the following issues:

Update to 3.4.5 (boo#1146427, CVE-2019-14751):

  • CVE-2019-14751: Fixed Zip slip vulnerability in downloader for the unlikely situation where a user configures their downloader to use a compromised server (boo#1146427)

Update to 3.4.4:

  • fix bug in plot function (probability.py)
  • add improved PanLex Swadesh corpus reader
  • add Text.generate()
  • add QuadgramAssocMeasures
  • add SSP to tokenizers
  • return confidence of best tag from AveragedPerceptron
  • make plot methods return Axes objects
  • don't require list arguments to PositiveNaiveBayesClassifier.train
  • fix Tree classes to work with native Python copy library
  • fix inconsistency for NomBank
  • fix random seeding in LanguageModel.generate
  • fix ConditionalFreqDist mutation on tabulate/plot call
  • fix broken links in documentation
  • fix misc Wordnet issues
  • update installation instructions

Version update to 3.4.1:

  • add chomsky_normal_form for CFGs
  • add meteor score
  • add minimum edit/Levenshtein distance based alignment function
  • allow access to collocation list via text.collocation_list()
  • support corenlp server options
  • drop support for Python 3.4
  • other minor fixes

Update to v3.4:

  • Support Python 3.7
  • New Language Modeling package
  • Cistem Stemmer for German
  • Support Russian National Corpus incl POS tag model
  • Krippendorf Alpha inter-rater reliability test
  • Comprehensive code clean-ups
  • Switch continuous integration from Jenkins to Travis

Updated to v3.3:

  • Support Python 3.6
  • New interface to CoreNLP
  • Support synset retrieval by sense key
  • Minor fixes to CoNLL Corpus Reader
  • AlignedSent
  • Fixed minor inconsistencies in APIs and API documentation
  • Better conformance to PEP8
  • Drop Moses Tokenizer (incompatible license)

This update was imported from the openSUSE:Leap:15.1:Update update project.

Record
openSUSE-SU-2020:0440-1
Updated
2026-11-02
OSVopenSUSE-SU-2022:10040-1 No score

Security update for python-nltk

This update for python-nltk fixes the following issues:

Update to 3.7

  • Improve and update the NLTK team page on nltk.org (#2855, #2941)

  • Drop support for Python 3.6, support Python 3.10 (#2920)

  • Update to 3.6.7

    • Resolve IndexError in sent_tokenize and word_tokenize (#2922)
  • Update to 3.6.6

    • Refactor gensim.doctest to work for gensim 4.0.0 and up (#2914)
    • Add Precision, Recall, F-measure, Confusion Matrix to Taggers (#2862)
    • Added warnings if .zip files exist without any corresponding .csv files. (#2908)
    • Fix FileNotFoundError when the download_dir is a non-existing nested folder (#2910)
    • Rename omw to omw-1.4 (#2907)
    • Resolve ReDoS opportunity by fixing incorrectly specified regex (#2906, boo#1191030, CVE-2021-3828).
    • Support OMW 1.4 (#2899)
    • Deprecate Tree get and set node methods (#2900)
    • Fix broken inaugural test case (#2903)
    • Use Multilingual Wordnet Data from OMW with newer Wordnet versions (#2889)
    • Keep NLTKs 'tokenize' module working with pathlib (#2896)
    • Make prettyprinter to be more readable (#2893)
    • Update links to the nltk book (#2895)
    • Add CITATION.cff to nltk (#2880)
    • Resolve serious ReDoS in PunktSentenceTokenizer (#2869)
    • Delete old CI config files (#2881)
    • Improve Tokenize documentation + add TokenizerI as superclass for TweetTokenizer (#2878)
    • Fix expected value for BLEU score doctest after changes from #2572
    • Add multi Bleu functionality and tests (#2793)
    • Deprecate 'return_str' parameter in NLTKWordTokenizer and TreebankWordTokenizer (#2883)
    • Allow empty string in CFG's + more (#2888)
    • Partition tree.py module into tree package + pickle fix (#2863)
    • Fix several TreebankWordTokenizer and NLTKWordTokenizer bugs (#2877)
    • Rewind Wordnet data file after each lookup (#2868)
    • Correct init call for SyntaxCorpusReader subclasses (#2872)
    • Documentation fixes (#2873)
    • Fix levenstein distance for duplicated letters (#2849)
    • Support alternative Wordnet versions (#2860)
    • Remove hundreds of formatting warnings for nltk.org (#2859)
    • Modernize nltk.org/howto pages (#2856)
    • Fix Bleu Score smoothing function from taking log(0) (#2839)
    • Update third party tools to newer versions and removing MaltParser fixed version (#2832)
    • Fix TypeError: _pretty() takes 1 positional argument but 2 were given in sem/drt.py (#2854)
    • Replace http with https in most URLs (#2852)
  • Update to 3.6.5

    • modernised nltk.org website
    • addressed LGTM.com issues
    • support ZWJ sequences emoji and skin tone modifer emoji in TweetTokenizer
    • METEOR evaluation now requires pre-tokenized input
    • Code linting and type hinting
    • implement get_refs function for DrtLambdaExpression
    • Enable automated CoreNLP, Senna, Prover9/Mace4, Megam, MaltParser CI tests
    • specify minimum regex version that supports regex.Pattern
    • avoid re.Pattern and regex.Pattern which fail for Python 3.6, 3.7
  • Update to 3.6.4

    • deprecate nltk.usage(obj) in favor of help(obj)
    • resolve ReDoS vulnerability in Corpus Reader
    • solidify performance tests
    • improve phone number recognition in tweet tokenizer
    • refactored CISTEM stemmer for German
    • identify NLTK Team as the author
    • replace travis badge with github actions badge
    • add SECURITY.md
  • Update to 3.6.3

    • Dropped support for Python 3.5
    • Run CI tests on Windows, too
    • Moved from Travis CI to GitHub Actions
    • Code and comment cleanups
    • Visualize WordNet relation graphs using Graphviz
    • Fixed large error in METEOR score
    • Apply isort, pyupgrade, black, added as pre-commit hooks
    • Prevent debug_decisions in Punkt from throwing IndexError
    • Resolved ZeroDivisionError in RIBES with dissimilar sentences
    • Initialize WordNet IC total counts with smoothing value
    • Fixed AttributeError for Arabic ARLSTem2 stemmer
    • Many fixes and improvements to lm language…
Record
openSUSE-SU-2022:10040-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11241-1 No score

python36-nltk-3.5-1.10 on GA media

These are all security issues fixed in the python36-nltk-3.5-1.10 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11241-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:14103-1 No score

python310-nltk-3.8.1-2.1 on GA media

These are all security issues fixed in the python310-nltk-3.8.1-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14103-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11469-1 No score

python313-nltk-3.10.1-1.1 on GA media

These are all security issues fixed in the python313-nltk-3.10.1-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11469-1
Updated
2026-11-02
OSVPYSEC-2019-106 No score

NLTK Downloader before 3.4.5 is vulnerable to a directory traversal, allowing attackers to write arbitrary files via a ../ (dot dot slash) in an NLTK package (ZIP archive) that is mishandled during extraction.

Record
PYSEC-2019-106
Updated
2026-11-02
OSVUSN-4106-1 No score

NLTK vulnerability

Mike Salvatore discovered that NLTK mishandled crafted ZIP archives during extraction. A remote attacker could use this vulnerability to write arbitrary files to the filesystem

Record
USN-4106-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
nltk
PyPI
before 3.4.5
3.4.5
nltk
Debian:12
before 3.4.5-1
3.4.5-1
nltk
Debian:13
before 3.4.5-1
3.4.5-1
nltk
Debian:14
before 3.4.5-1
3.4.5-1
nltk
PyPI
before 3.4.5, plus listed versions
0.80.90.9.30.9.40.9.5
Show 40 moreShow less
0.9.60.9.70.9.80.9.92.0.12.0.1rc12.0.1rc2-git2.0.1rc32.0.1rc42.0.22.0.32.0.42.0.52.0b42.0b52.0b62.0b72.0b82.0b93.0.03.0.0b13.0.0b23.0.13.0.23.0.33.0.43.0.53.13.23.2.13.2.23.2.33.2.43.2.53.33.43.4.13.4.23.4.33.4.4
3.4.5
python-nltk
Mageia:7
before 3.4.5-1.1.mga7
3.4.5-1.1.mga7
nltk
PyPI
before 3.4.5, plus listed versions
2.0.1rc2-git0.80.90.9.30.9.4
Show 40 moreShow less
0.9.50.9.60.9.70.9.80.9.92.0b42.0b52.0b62.0b72.0b82.0b92.0.1rc12.0.1rc32.0.1rc42.0.12.0.22.0.32.0.42.0.53.0.0b13.0.0b23.0.03.0.13.0.23.0.33.0.43.0.53.13.23.2.13.2.23.2.33.2.43.2.53.33.43.4.13.4.23.4.33.4.4
3.4.5
nltk
Ubuntu:Pro:14.04:LTS
before 2.0~b9-0ubuntu4.1~esm2, plus listed versions
2.0~b9-0ubuntu4
2.0~b9-0ubuntu4.1~esm2
nltk
Ubuntu:16.04:LTS
before 3.1-1ubuntu0.1, plus listed versions
3.0.4-13.0.5-13.1-1
3.1-1ubuntu0.1
nltk
Ubuntu:18.04:LTS
before 3.2.5-1ubuntu0.1, plus listed versions
3.2.4-13.2.5-1
3.2.5-1ubuntu0.1
Show 6 moreShow less
Affected packages
PackageAffectedFixed
python-nltk
openSUSE:Leap 15.1
before 3.4.5-lp151.4.3.1
3.4.5-lp151.4.3.1
python-nltk
SUSE:Package Hub 15 SP1
before 3.4.5-bp151.4.3.1
3.4.5-bp151.4.3.1
python-nltk
SUSE:Package Hub 15 SP2
before 3.7-bp152.3.3.1
3.7-bp152.3.3.1
python-nltk
openSUSE:Tumbleweed
before 3.5-1.10
3.5-1.10
python-nltk
openSUSE:Tumbleweed
before 3.8.1-2.1
3.8.1-2.1
python-nltk
openSUSE:Tumbleweed
before 3.10.1-1.1
3.10.1-1.1

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubmssalvatore/CVE-2019-14751_PoC2019-08-09

History

History
WhenChangedSources
2026-11-03aliasesEUVD
2026-11-02createdCVE List, GitHub Advisories, NVD, OSV, PoC in GitHub

References

Show 24 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open