CVE-2020-13091
pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed...
pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if reduce makes an os.system call. NOTE: third parties dispute this issue because the read_pickle() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner
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
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if reduce makes an os.system call. NOTE: third parties dispute this issue because the read_pickle() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner
- Record
CVE-2020-13091- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-502
- Updated
- 2026-11-02
CVE List No score
pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if reduce makes an os.system call. NOTE: third parties dispute this issue because the read_pickle() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner
- Record
CVE-2020-13091- Updated
- 2026-11-02
EUVDEUVD-2020-0125 No score
pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if reduce makes an os.system call. NOTE: third parties dispute this issue because the read_pickle() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner
- Record
EUVD-2020-0125- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-cmm9-mgm5-9r42 No score
pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed...
pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if reduce makes an os.system call.
- Record
GHSA-cmm9-mgm5-9r42- Updated
- 2026-11-02
OSV
9.8
pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if reduce makes an os.system call. NOTE: third parties dispute this issue because the read_pickle() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner
- Record
CVE-2020-13091- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-13091
9.8
pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if reduce makes an os.system call. NOTE: third parties dispute this issue because the read_pickle() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner
- Record
DEBIAN-CVE-2020-13091- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVPYSEC-2020-73 No score
** DISPUTED ** pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if reduce makes an os.system call. NOTE: third parties dispute this issue because the read_pickle() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner.
- Record
PYSEC-2020-73- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pandasDebian:12 |
All versions, plus listed versions 1.5.3+dfsg-101.5.3+dfsg-111.5.3+dfsg-121.5.3+dfsg-21.5.3+dfsg-3 Show 45 moreShow less1.5.3+dfsg-41.5.3+dfsg-51.5.3+dfsg-61.5.3+dfsg-71.5.3+dfsg-81.5.3+dfsg-92.0.3+dfsg-12.0.3+dfsg-22.0.3+dfsg-32.0.3+dfsg-42.0.3+dfsg-52.0.3+dfsg-62.1.0+dfsg-12.1.1+dfsg-12.1.1+dfsg-22.1.3+dfsg-12.1.4+dfsg-12.1.4+dfsg-22.1.4+dfsg-32.1.4+dfsg-42.1.4+dfsg-52.1.4+dfsg-62.1.4+dfsg-72.1.4+dfsg-82.2.2+dfsg-12.2.2+dfsg-22.2.2+dfsg-32.2.2+dfsg-42.2.3+dfsg-12.2.3+dfsg-22.2.3+dfsg-32.2.3+dfsg-42.2.3+dfsg-52.2.3+dfsg-62.2.3+dfsg-72.2.3+dfsg-82.2.3+dfsg-92.3.1+dfsg-12.3.2+dfsg-22.3.3+dfsg-12.3.3+dfsg-22.3.3+dfsg-32.3.3+dfsg-42.3.3+dfsg-53.0.4+dfsg-1 |
None known |
pandasDebian:13 |
All versions, plus listed versions 2.2.3+dfsg-92.3.1+dfsg-12.3.2+dfsg-22.3.3+dfsg-12.3.3+dfsg-2 Show 5 moreShow less2.3.3+dfsg-32.3.3+dfsg-42.3.3+dfsg-53.0.4+dfsg-13.0.5+dfsg-1 |
None known |
pandasDebian:14 |
All versions, plus listed versions 2.2.3+dfsg-92.3.1+dfsg-12.3.2+dfsg-22.3.3+dfsg-12.3.3+dfsg-2 Show 5 moreShow less2.3.3+dfsg-32.3.3+dfsg-42.3.3+dfsg-53.0.4+dfsg-13.0.5+dfsg-1 |
None known |
pandasPyPI |
before 1.0.4, plus listed versions 0.10.2beta0.2b10.20.3.0.beta Show 45 moreShow less0.3.0.beta20.3.00.4.00.4.10.4.20.4.30.5.00.6.00.6.10.7.00.7.10.7.20.7.30.8.0rc10.8.0rc20.8.00.8.10.9.00.9.10.10.00.10.10.11.00.12.00.13.00.13.10.14.00.14.10.15.00.15.10.15.20.16.00.16.10.16.20.17.00.17.10.18.00.18.10.19.0rc10.19.00.19.10.19.20.20.0rc10.20.00.20.10.20.2 |
1.0.4 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-13091 is a critical vulnerability (CVSS 9.8) in Numfocus Pandas, published May 15, 2020. Its validity is disputed. EPSS puts the chance of exploitation in the next 30 days at 3.51%, the 89th percentile. Fixed in pandas 1.0.4.
References
Left out here: 26 versions. The JSON record has them.