This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients barry, brett.cannon, doko, eric.snow, ncoghlan, petr.viktorin, serhiy.storchaka
Date 2017-02-11.16:32:39
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1486830760.04.0.790154543758.issue29514@psf.upfronthosting.co.za>
In-reply-to
Content
My apologies for breaking the world. But I considered this bug as security issue. Unlikely, but not impossible. The BUILD_MAP_UNPACK_WITH_CALL opcode is rarely used, but if it is used, it can cause reading arbitrary memory and either crashing or even exposing the content of this memory in error message that can be leaked to remote user. This hole would be better to close early. I expected this change would be included in 3.5.2.

The more robust solution would be to add the support of two magic numbers and check on loading whether the BUILD_MAP_UNPACK_WITH_CALL opcode is occurred in a precompiled file with old magic number. But this solution looked too excessive.

It would be nice to design a mechanism for possible future bytecode fixes.
History
Date User Action Args
2017-02-11 16:32:40serhiy.storchakasetrecipients: + serhiy.storchaka, barry, brett.cannon, doko, ncoghlan, petr.viktorin, eric.snow
2017-02-11 16:32:40serhiy.storchakasetmessageid: <1486830760.04.0.790154543758.issue29514@psf.upfronthosting.co.za>
2017-02-11 16:32:40serhiy.storchakalinkissue29514 messages
2017-02-11 16:32:39serhiy.storchakacreate