CVE-2024-49048
TorchGeo Remote Code Execution Vulnerability
Impact
### Impact TorchGeo 0.4–0.6.0 used an [`eval`](https://docs.python.org/3/library/functions.html#eval) statement in its model weight API that could allow an unauthenticated, remote attacker to execute arbitrary commands. All platforms that expose [`torchgeo.models.get_weight()`](https://torchgeo.readthedocs.io/en/v0.6.0/api/models.html#torchgeo.models.get_weight) or [`torchgeo.trainers`](https://torchgeo.readthedocs.io/en/v0.6.0/api/trainers.html) as an external API could be affected. ### Patches The `eval` statement was replaced with a fixed enum lookup, preventing arbitrary code injection. All users are encouraged to upgrade to TorchGeo 0.6.1 or newer. ### Workarounds In unpatched versions, input validation and sanitization can be used to avoid this vulnerability. ### References #### Bug history * Introduced: https://github.com/torchgeo/torchgeo/pull/917 * Patched: https://github.com/torchgeo/torchgeo/pull/2323 * Released: [v0.6.1](https://github.com/microsoft/torchgeo/releases/tag/v0.6.1)
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | torchgeo | >= 0.4, <= 0.6.0 | 0.6.1 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Microsoft | Torchgeo | before 0.6.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-49048
- https://github.com/advisories/GHSA-ghq9-vc6f-8qjf
- https://github.com/torchgeo/torchgeo/security/advisories/GHSA-ghq9-vc6f-8qjf
- https://nvd.nist.gov/vuln/detail/CVE-2024-49048
- https://github.com/torchgeo/torchgeo/pull/2323
- https://github.com/torchgeo/torchgeo/pull/917
- https://github.com/torchgeo/torchgeo/commit/1a980788cb7089a1115f3b786c7daa9dd47d7d7a
- https://github.com/microsoft/torchgeo/releases/tag/v0.6.1
- https://github.com/pypa/advisory-database/tree/main/vulns/torchgeo/PYSEC-2024-204.yaml