Impact
If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.
If the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.
Patches
Has the problem been patched? What versions should users upgrade to?
patch: https://github.com/msgpack/msgpack-python-ghsa-6v7p-g79w-8964/pull/1
v1.2.1 will be released with this patch.
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
Users should create a new Unpacker instead of reusing the same Unpacker after an error occurs.
Applying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data. If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.
Therefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.
References
Are there any links users can visit to find out more?
No.
Impact
If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.
If the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.
Patches
Has the problem been patched? What versions should users upgrade to?
patch: https://github.com/msgpack/msgpack-python-ghsa-6v7p-g79w-8964/pull/1
v1.2.1 will be released with this patch.
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
Users should create a new Unpacker instead of reusing the same Unpacker after an error occurs.
Applying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data. If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.
Therefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.
References
Are there any links users can visit to find out more?
No.