Every CVE Search/ Get API key

CVE-2021-23521

Link Following

5.5 MediumFix available

This affects the package juce-framework/JUCE before 6.1.5. This vulnerability is triggered when a malicious archive is crafted with an entry containing a symbolic link. When extracted, the symbolic link is followed outside of the target dir allowing writing arbitrary files on the target host. In some cases, this can allow an attacker to execute arbitrary code. The vulnerable code is in the ZipFile::uncompressEntry function in juce_ZipFile.cpp and is executed when the archive is extracted upon calling uncompressTo() on a ZipFile object.

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
None
Availability
None

Exploit likelihood

0.54%Down 0.6 points since Feb 1, 2022
90%50%10%1%

What each source reports

CVE List Score used 5.5

Link Following

This affects the package juce-framework/JUCE before 6.1.5. This vulnerability is triggered when a malicious archive is crafted with an entry containing a symbolic link. When extracted, the symbolic link is followed outside of the target dir allowing writing arbitrary files on the target host. In some cases, this can allow an attacker to execute arbitrary code. The vulnerable code is in the ZipFile::uncompressEntry function in juce_ZipFile.cpp and is executed when the archive is extracted upon calling uncompressTo() on a ZipFile object.

Record
CVE-2021-23521
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
EUVDEUVD-2021-10488 5.5

This affects the package juce-framework/JUCE before 6.1.5. This vulnerability is triggered when a malicious archive is crafted with an entry containing a symbolic link. When extracted, the symbolic link is followed outside of the target dir allowing writing arbitrary files on the target host. In some cases, this can allow an attacker to execute arbitrary code. The vulnerable code is in the ZipFile::uncompressEntry function in juce_ZipFile.cpp and is executed when the archive is extracted upon calling uncompressTo() on a ZipFile object.

Record
EUVD-2021-10488
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-cv9m-jw92-c3v3 No score

This affects the package juce-framework/JUCE before 6.1.5. This vulnerability is triggered when a...

This affects the package juce-framework/JUCE before 6.1.5. This vulnerability is triggered when a malicious archive is crafted with an entry containing a symbolic link. When extracted, the symbolic link is followed outside of the target dir allowing writing arbitrary files on the target host. In some cases, this can allow an attacker to execute arbitrary code. The vulnerable code is in the ZipFile::uncompressEntry function in juce_ZipFile.cpp and is executed when the archive is extracted upon calling uncompressTo() on a ZipFile object.

Record
GHSA-cv9m-jw92-c3v3
Weakness
CWE-59
Updated
2026-11-02
NVD 5.5

This affects the package juce-framework/JUCE before 6.1.5. This vulnerability is triggered when a malicious archive is crafted with an entry containing a symbolic link. When extracted, the symbolic link is followed outside of the target dir allowing writing arbitrary files on the target host. In some cases, this can allow an attacker to execute arbitrary code. The vulnerable code is in the ZipFile::uncompressEntry function in juce_ZipFile.cpp and is executed when the archive is extracted upon calling uncompressTo() on a ZipFile object.

Record
CVE-2021-23521
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
4.6 MediumAV:L/AC:L/Au:N/C:P/I:P/A:P
Weakness
CWE-59
Updated
2026-11-02
OSV 7.8

This affects the package juce-framework/JUCE before 6.1.5. This vulnerability is triggered when a malicious archive is crafted with an entry containing a symbolic link. When extracted, the symbolic link is followed outside of the target dir allowing writing arbitrary files on the target host. In some cases, this can allow an attacker to execute arbitrary code. The vulnerable code is in the ZipFile::uncompressEntry function in juce_ZipFile.cpp and is executed when the archive is extracted upon calling uncompressTo() on a ZipFile object.

Record
CVE-2021-23521
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2021-23521 7.8

This affects the package juce-framework/JUCE before 6.1.5. This vulnerability is triggered when a malicious archive is crafted with an entry containing a symbolic link. When extracted, the symbolic link is followed outside of the target dir allowing writing arbitrary files on the target host. In some cases, this can allow an attacker to execute arbitrary code. The vulnerable code is in the ZipFile::uncompressEntry function in juce_ZipFile.cpp and is executed when the archive is extracted upon calling uncompressTo() on a ZipFile object.

Record
DEBIAN-CVE-2021-23521
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 4 moreShow less
OSVUBUNTU-CVE-2021-23521 5.5

This affects the package juce-framework/JUCE before 6.1.5. This vulnerability is triggered when a malicious archive is crafted with an entry containing a symbolic link. When extracted, the symbolic link is followed outside of the target dir allowing writing arbitrary files on the target host. In some cases, this can allow an attacker to execute arbitrary code. The vulnerable code is in the ZipFile::uncompressEntry function in juce_ZipFile.cpp and is executed when the archive is extracted upon calling uncompressTo() on a ZipFile object.

Record
UBUNTU-CVE-2021-23521
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVCLSA-2023-1677095411 No score

git: Fix of 6 CVEs

  • CVE-2022-41903: fix out-of-bounds write caused by integer overflow
  • CVE-2021-40330: forbid newlines in host and path
  • CVE-2022-39260: reject too long command line strings
  • CVE-2021-23521: implement size checks for .gitattributes
  • CVE-2023-22490: prevent arbitrary path exfiltration when using non-local transports
  • CVE-2023-23946: prevent git-apply from writing behind newly created symbolic links
Record
CLSA-2023-1677095411
Updated
2026-11-02
OSVCLSA-2023-1677095961 No score

git: Fix of 6 CVEs

  • CVE-2022-41903: fix out-of-bounds write caused by integer overflow
  • CVE-2021-40330: forbid newlines in host and path
  • CVE-2022-39260: reject too long command line strings
  • CVE-2021-23521: implement size checks for .gitattributes
  • CVE-2023-22490: prevent arbitrary path exfiltration when using non-local transports
  • CVE-2023-23946: prevent git-apply from writing behind newly created symbolic links
Record
CLSA-2023-1677095961
Updated
2026-11-02
OSVCLSA-2023-1677096675 No score

Fix of 5 CVEs

  • SECURITY UPDATE: out-of-bounds write caused by integer overflow
    • debian/patches/CVE-2022-41903.patch: use 'size_t' instead of 'int' to track the string lengths and so allow >2GB input sizes.
    • CVE-2022-41903
    • t-mark-submodule-clean-test-as-known-failure.patch: mark submodule clean test as known failure and so pass 'make test'.
  • SECURITY UPDATE: possible cross-protocol requests
    • debian/patches/CVE-2021-40330.patch: forbid newlines in host and path.
    • CVE-2021-40330
  • SECURITY UPDATE: out-of-bounds write and possible RCE caused by integer overflow
    • debian/patches/CVE-2022-39260.patch: reject too long command line strings in split_cmdline().
    • CVE-2022-39260
  • SECURITY UPDATE: out-of-bounds write when reading an unreasonably large .gitattributes file
    • debian/patches/CVE-2021-23521.patch: implement line and overall size checks for .gitattributes files.
    • CVE-2021-23521
  • SECURITY UPDATE: possible write outside of the repository's working directory
    • debian/patches/CVE-2023-23946.patch: prevent git-apply from writing behind newly created symbolic links.
    • CVE-2023-23946
Record
CLSA-2023-1677096675
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
git
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-all
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-core
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-core-doc
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-credential-libsecret
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-daemon
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-email
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-gui
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-instaweb
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-subtree
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
Show 47 moreShow less
Affected packages
PackageAffectedFixed
git-svn
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
gitk
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
gitweb
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
perl-Git
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
perl-Git-SVN
TuxCare:CentOS:8.4
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-all
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-core
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-core-doc
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-credential-libsecret
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-daemon
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-email
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-gui
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-instaweb
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-subtree
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git-svn
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
gitk
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
gitweb
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
perl-Git
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
perl-Git-SVN
TuxCare:CentOS:8.5
From an advisory covering 6 CVEs
before 2.27.0-1.el8.tuxcare.els1
2.27.0-1.el8.tuxcare.els1
git
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-all
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-arch
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-core
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-cvs
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-daemon-run
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-daemon-sysvinit
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-doc
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-el
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-email
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-gui
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-man
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-mediawiki
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
git-svn
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
gitk
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
gitweb
TuxCare:Ubuntu:16.04
From an advisory covering 5 CVEs
before 1:2.7.4-0ubuntu1.10+tuxcare.els1
1:2.7.4-0ubuntu1.10+tuxcare.els1
juce
Debian:12
before 6.1.5~ds0-1
6.1.5~ds0-1
juce
Debian:13
before 6.1.5~ds0-1
6.1.5~ds0-1
juce
Debian:14
before 6.1.5~ds0-1
6.1.5~ds0-1
juce
Ubuntu:16.04:LTS
All versions, plus listed versions
4.1.0+repack-3
None known
juce
Ubuntu:18.04:LTS
All versions, plus listed versions
4.3.0~repack-15.2.0~repack-15.2.0~repack-25.2.0~repack-35.2.1~repack-15.2.1~repack-2
None known
juce
Ubuntu:20.04:LTS
All versions, plus listed versions
5.4.4~repack0-35.4.5~ds0-15.4.6~ds0-15.4.7~ds0-1
None known
juce
Ubuntu:22.04:LTS
All versions, plus listed versions
5.4.7~ds0-26.1.3~ds0-16.1.4~ds0-16.1.5~ds0-1
None known
juce
Ubuntu:24.04:LTS
All versions, plus listed versions
7.0.5+ds-17.0.5+ds-1build17.0.5+ds-1build27.0.5+ds-2
None known
juce
Ubuntu:25.10
All versions, plus listed versions
8.0.6+ds-2
None known
juce
Ubuntu:26.10
All versions, plus listed versions
8.0.12+ds-18.0.13+ds-18.0.14+ds-1
None known
juce
Ubuntu:26.04:LTS
All versions, plus listed versions
8.0.6+ds-28.0.12+ds-1
None known

History

History
RecordedChangedSources
affected, facts
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-23521 is a medium vulnerability (CVSS 5.5) in Juce, published January 31, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.54%, the 45th percentile. Fixed in juce 6.1.5~ds0-1.

References

Show 4 moreShow less
MoveEnter Open