{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-94370", "assignerOrgId": "a59d8014-47c4-4630-ab43-e1b13cbe58e3", "state": "PUBLISHED", "assignerShortName": "Qt", "dateReserved": "2026-09-21T11:36:04.324Z", "datePublished": "2026-10-14T05:43:27.953Z", "dateUpdated": "2026-10-14T16:02:30.639Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "a59d8014-47c4-4630-ab43-e1b13cbe58e3", "shortName": "Qt", "dateUpdated": "2026-10-14T05:43:27.953Z" }, "title": "Memory corruption (double free / use-after-free) vulnerability in core string handling impacts Qt for MCUs", "problemTypes": [ { "descriptions": [ { "lang": "en", "cweId": "CWE-415", "description": "CWE-415 Double Free", "type": "CWE" } ] }, { "descriptions": [ { "lang": "en", "cweId": "CWE-416", "description": "CWE-416 Use After Free", "type": "CWE" } ] }, { "descriptions": [ { "lang": "en", "cweId": "CWE-590", "description": "CWE-590 Free of Memory not on the Heap", "type": "CWE" } ] }, { "descriptions": [ { "lang": "en", "cweId": "CWE-665", "description": "CWE-665 Improper Initialization", "type": "CWE" } ] } ], "impacts": [ { "capecId": "CAPEC-153", "descriptions": [ { "lang": "en", "value": "CAPEC-153 Input Data Manipulation" } ] } ], "affected": [ { "vendor": "qt", "product": "Qt_for_MCUs", "modules": [ "qul" ], "versions": [ { "status": "affected", "version": "2.12.1", "lessThan": "2.12.3", "versionType": "python" } ], "defaultStatus": "unaffected" } ], "cpeApplicability": [ { "operator": "OR", "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:a:qt:qt_for_mcus:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.12.1", "versionEndExcluding": "2.12.3" } ] } ] } ], "descriptions": [ { "lang": "en", "value": "A defect in the Qt for MCUs core string handling causes heap memory corruption. When an application passes text into Qt Quick Ultralite using the public Qul::String interface type, and that text is held in a std::string, the conversion to the internal string type copies the pointer without taking ownership of it. Two objects then release the same memory, producing a double free, an invalid free, or a use-after-free.", "supportingMedia": [ { "type": "text/html", "base64": false, "value": "
A defect in the Qt for MCUs core string handling causes heap memory corruption. When an application passes text into Qt Quick Ultralite using the public Qul::String interface type, and that text is held in a std::string, the conversion to the internal string type copies the pointer without taking ownership of it. Two objects then release the same memory, producing a double free, an invalid free, or a use-after-free.