A vulnerability was found in MicroPython 1.23.0. It has been rated as critical. Affected by this issue is the function mpzasbytes 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 mpzasbytes.
{ "vanir_signatures": [ { "id": "CVE-2024-8948-095135b0", "digest": { "length": 352.0, "function_hash": "49453144512293457249410937369704661746" }, "signature_type": "Function", "target": { "file": "py/objint_longlong.c", "function": "mp_obj_int_to_bytes_impl" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-206e7c7e", "digest": { "length": 215.0, "function_hash": "82414365710170086972214401516403803350" }, "signature_type": "Function", "target": { "file": "py/objint_mpz.c", "function": "mp_obj_int_to_bytes_impl" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-91aebef0", "digest": { "threshold": 0.9, "line_hashes": [ "240764865457314554996086594671908307092", "171305254523541278175680103753631570610", "137359274097526980861997051233237938696", "235331098763796619437566542097745851269", "64228189927734972433844472166734206997", "108731025643498703841517896671937497333", "239472469034903521383119931649983550467", "327879860115184658589794305588390211302", "315104926869624633509794041451676350086", "322630392243212087323169286325672666830" ] }, "signature_type": "Line", "target": { "file": "py/mpz.h" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-97eca7df", "digest": { "threshold": 0.9, "line_hashes": [ "198600163651652356893457476236927127122", "250111303815993995058780437679798167414", "174305722198746996037804726886613045148", "84818618404643049005995228934343152126", "134606503306975541410755571527375839327", "103559837720270446965758369076170175344", "44896566831258871227723966908132698610" ] }, "signature_type": "Line", "target": { "file": "py/objint_mpz.c" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-9e9a46e7", "digest": { "threshold": 0.9, "line_hashes": [ "120145040053965508911316494003073332150", "244019856248452144399491860198402756927", "278370846440818969006058797721319115496", "96643418525220343826722440213111016291", "196573866780012353931098546768450319963", "291366795443993236583259726243249781264", "302208029058680704359860983310088648341", "240097800565976445660481151752213789835", "280400532117715381707253943163030433295", "138939821756511278567607551468950889338", "191697915849327049634300210352011391641", "304773945195587777148785811209770821388", "290693945206202265735311643251025336296", "212723979602651019874861908347704549393", "64673186796976382316212267485732732753", "315558949201425137271732190875425792759", "27137869323843042998001953092139514678", "236629731720731442608519029142161539544", "11769211352205247355850702716484977257", "275443108075848871514266065296459430765", "293949540968280903538352693917672011553", "108587633537507210242609878158511307392", "129984067640990573909797111107185802360", "399967116631071530115791102328874849", "176153233063437955479332261773743664135", "115942372047937939058023176841528065574", "328632384183704483236497569988856089217", "147536600659739821204079588423772294356", "236231845068500488031373809206879704442", "317577408893416698879549548366546674106", "196536581343039521726131946054471019164", "183292891823518295460848708674851846429" ] }, "signature_type": "Line", "target": { "file": "py/mpz.c" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-a423d4e0", "digest": { "length": 751.0, "function_hash": "162894037053660095914018449401936882909" }, "signature_type": "Function", "target": { "file": "py/mpz.c", "function": "mpz_as_bytes" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-ab5c6db8", "digest": { "threshold": 0.9, "line_hashes": [ "181893145542623236155880138535561864354", "51977466071704503110401762488829753478", "133449040390787732775153066489828088795", "95526237735391312991518495724086441629", "313867203205233948952970238760700696708", "33501305917277878184880521830234254403", "63014318331792517735224993731327981449" ] }, "signature_type": "Line", "target": { "file": "py/misc.h" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-ac837bb7", "digest": { "threshold": 0.9, "line_hashes": [ "199923670836101400985549945741066157006", "32236511569594316103249996256312329216", "131655327311978436142712132435023711170", "203393045325926305708224415146536405425", "77736346455363621338764305219639489982", "68289620440015378359056537632689255184", "269281759200254248430270372209923698318", "260254878370710579052395312816388752465", "85379909796824522225161455796580324541", "291337049379008676676081025483671535656", "255163852549424857624515219094682752409" ] }, "signature_type": "Line", "target": { "file": "py/objint_longlong.c" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-cd2ec3f1", "digest": { "threshold": 0.9, "line_hashes": [ "158117844349039680759329947985221046412", "245742790556823848331496674864197178250", "32301643616370418127885825161300406259", "270901059253039383709341708610929881879", "126875224947790813311428702625308159777", "132967312896793069815672556355715170392", "45513769181813890532210268524222420504", "309938477441122215988499892625429362124", "87881277809764881180594346513870779126", "107652946969934288543146560413998541070", "287422445275893647030737226627637390462", "246228737504441366433992861634492787516", "148247910299840855851263396111543407794", "195523408118153229579677004320077714440", "219956224965339239815964108635716138205", "239533980474243051142849385967509815044", "214596506986775544796716189410765420341", "47507245202626185978783349231857944652", "10042244560294428244157169438990087549", "60392097066490295825891800374656773087", "254486098027360741500055002747770401550", "339029056641294036660397968667025722964" ] }, "signature_type": "Line", "target": { "file": "py/objint.c" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-d82e3865", "digest": { "threshold": 0.9, "line_hashes": [ "71470621531692675115757047028953352740", "157971563346786908315953820395385324095", "280635664758112880581126098149357043311", "270836460372121911610312942511714001471" ] }, "signature_type": "Line", "target": { "file": "py/objint.h" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" }, { "id": "CVE-2024-8948-f80efedb", "digest": { "length": 669.0, "function_hash": "170087834968604457596593602084613068981" }, "signature_type": "Function", "target": { "file": "py/objint.c", "function": "int_to_bytes" }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/micropython/micropython/commit/908ab1ceca15ee6fd0ef82ca4cba770a3ec41894" } ] }