A vulnerability was found in MicroPython 1.23.0. It has been rated as critical. Affected by this issue is the function mpz_as_bytes of the file py/objint.c. The manipulation leads to heap-based buffer overflow. The attack may be launched remotely. The exploit has been disclosed to the public and may be used. The patch is identified as 908ab1ceca15ee6fd0ef82ca4cba770a3ec41894. It is recommended to apply a patch to fix this issue. In micropython objint component, converting zero from int to bytes leads to heap buffer-overflow-write at mpz_as_bytes.
A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
The product writes data past the end, or before the beginning, of the intended buffer.
Link | Tags |
---|---|
https://vuldb.com/?id.277766 | third party advisory vdb entry technical description |
https://vuldb.com/?ctiid.277766 | signature permissions required |
https://vuldb.com/?submit.409317 | third party advisory |
https://github.com/micropython/micropython/issues/13041 | third party advisory issue tracking exploit |
https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894 | patch |