GHSA-4mqg-h5jf-j9m7 TorchServe Pre-Auth Remote Code Execution

Not scored Published

Attackers can execute arbitrary code on TorchServe servers via unsafe deserialization in the SnakeYAML library without authentication.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is GHSA-4mqg-h5jf-j9m7?

GHSA-4mqg-h5jf-j9m7 is an unsafe deserialization vulnerability in torchserve, published on 2 Oct 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Impact

Use of Open Source Library potentially exposed to RCE Issue: Use of a version of the SnakeYAML v1.31 open source library with multiple issues that potentially exposes the user to unsafe deserialization of Java objects. This could allow third parties to execute arbitrary code on the target system. This issue is present in versions 0.3.0 to 0.8.1. Mitigation: A pull request to address this issue has been merged - https://github.com/pytorch/serve/pull/2523. TorchServe release 0.8.2 includes this fix.

Patches

TorchServe release 0.8.2 includes fixes to address the previously listed issue:

https://github.com/pytorch/serve/releases/tag/v0.8.2

Tags for upgraded DLC release User can use the following new image tags to pull DLCs that ship with patched TorchServe version 0.8.2: x86 GPU

  • v1.9-pt-ec2-2.0.1-inf-gpu-py310
  • v1.8-pt-sagemaker-2.0.1-inf-gpu-py310

x86 CPU

  • v1.8-pt-ec2-2.0.1-inf-cpu-py310
  • v1.7-pt-sagemaker-2.0.1-inf-cpu-py310

Graviton

  • v1.7-pt-graviton-ec2-2.0.1-inf-cpu-py310
  • v1.5-pt-graviton-sagemaker-2.0.1-inf-cpu-py310

Neuron

  • 1.13.1-neuron-py310-sdk2.13.2-ubuntu20.04
  • 1.13.1-neuronx-py310-sdk2.13.2-ubuntu20.04
  • 1.13.1-neuronx-py310-sdk2.13.2-ubuntu20.04

The full DLC image URI details can be found at: https://github.com/aws/deep-learning-containers/blob/master/available_images.md#available-deep-learning-containers-images

References

https://github.com/pytorch/serve/pull/2523 https://github.com/pytorch/serve/releases/tag/v0.8.2 https://github.com/aws/deep-learning-containers/blob/master/available_images.md#available-deep-learning-containers-images

Credit

We would like to thank Oligo Security for responsibly disclosing this issue and working with us on its resolution. If you have any questions or comments about this advisory, we ask that you contact AWS/Amazon Security via our vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting)) or directly via email to [email protected]. Please do not create a public GitHub issue.

Which versions are affected by GHSA-4mqg-h5jf-j9m7?

2 open source packages ship an affected version, including torchserve.

PackageAffectedFixed in
torchserve PyPIFrom 0.3.00.8.2
torchserve PyPIFrom 0.3.00.8.2

How do I fix GHSA-4mqg-h5jf-j9m7?

Upgrade torchserve to 0.8.2 or later.

Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.

Is GHSA-4mqg-h5jf-j9m7 being exploited?

There is no known exploitation of GHSA-4mqg-h5jf-j9m7 in the wild and no public exploit code.

Sources

Is GHSA-4mqg-h5jf-j9m7 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free