Py2Play: Remote execution of arbitrary Python code

2005-09-17T00:00:00
ID GLSA-200509-09
Type gentoo
Reporter Gentoo Foundation
Modified 2006-09-05T00:00:00

Description

Background

Py2Play is a peer-to-peer network game engine written in Python. Pickling is a Python feature allowing to serialize Python objects into string representations (called pickles) that can be sent over the network.

Description

Arc Riley discovered that Py2Play uses Python pickles to send objects over a peer-to-peer game network, and that clients accept without restriction the objects and code sent by peers.

Impact

A remote attacker participating in a Py2Play-powered game can send malicious Python pickles, resulting in the execution of arbitrary Python code on the targeted game client.

Workaround

There is no known workaround at this time.

Resolution

All py2play users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-python/py2play-0.1.8"