{"id":"CVE-2026-86096","summary":"PX4 Autopilot through 1.17.0 Use-After-Free via Temperature Calibration Task Startup","details":"PX4 Autopilot through 1.17.0 contains a use-after-free vulnerability in TemperatureCalibration::start() due to a race condition between task spawning and object deletion. Attackers can trigger the calibration process via shell commands to write to freed heap memory, corrupting unrelated objects or allocator metadata and destabilizing heap operations.","modified":"2026-09-06T08:01:52.238756Z","published":"2026-09-04T22:38:46.695Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86096.json","cna_assigner":"VulnCheck","cwe_ids":["CWE-416"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86096.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-86096"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/px4-autopilot-through-1.17.0-use-after-free-via-temperature-calibration-task-startup"},{"type":"FIX","url":"https://github.com/PX4/PX4-Autopilot/commit/b182e523d154fe029a49b48bb5f9d3d6693bc6bb"},{"type":"FIX","url":"https://github.com/PX4/PX4-Autopilot/pull/28487"},{"type":"PACKAGE","url":"https://github.com/PX4/PX4-Autopilot"},{"type":"ARTICLE","url":"https://github.com/PX4/PX4-Autopilot/blob/v1.17.0/src/modules/temperature_compensation/temperature_calibration/task.cpp"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/px4/px4-autopilot","events":[{"introduced":"0"},{"fixed":"d6f12ad1c4f70ad3230afd7d86e971421e02fef4"},{"fixed":"b182e523d154fe029a49b48bb5f9d3d6693bc6bb"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"1.17.0"}],"source":["DESCRIPTION","REFERENCES"]}}],"versions":["v1.18.0-beta1","v1.18-beta1","v1.18.0-alpha1","v1.17.0-rc2","v1.17.0-rc1","v1.17.0-beta1","v1.17.0-alpha1","v1.16.0-rc1","v1.16.0-beta1","v1.16.0-alpha2","v1.16.0-alpha1","v1.15.0-beta1","v1.15.0-alpha1","v1.14.0-beta2","v1.14.0-beta1","v1.13.0-beta1","v1.12.0-rc1","v1.12.0","v1.13.0-alpha1","v1.12.0-beta6","v1.12.0-beta5","v1.12.0-beta4","v1.12.0-beta3","v1.12.0-beta2","v1.11.0-rc3","v1.11.0-rc2","v1.11.0-rc1","v1.11.0-beta2","v1.11.0-beta1","v1.10.0-beta4","v1.10.0-beta3","v1.10.0-beta2","v1.10.0-beta1","v1.9.0-rc2","v1.9.0","v1.9.0-rc1","v1.9.0-rc0","v1.9.0-beta3","v1.9.0-beta2","v1.9.0-beta1","v1.9.0-alpha","v1.8.0","v1.8.0-rc0","v1.8.0-beta2","v1.8.0-beta1","v1.7.4beta","v1.7.3","v1.7.3beta","v1.7.2","v1.7.1","v1.7.0","v1.7.0-rc4","v1.7.0-rc3","v1.7.0-rc2","v1.7.0-rc1","v1.7.0-rc0","v1.6.5","v1.6.4","v1.6.2","v1.6.0-rc4","v1.6.0-rc3","v1.6.0-rc2","v1.6.0rc1","v1.5.2","v1.5.1","v1.5.1rc4","v1.5.1rc3","v1.5.1rc2","v1.5.0","v1.4.4rc1","v1.4.3","v1.4.2","v1.4.1","v1.4.1rc4","v1.4.1rc3","v1.4.1rc2","v1.4.1rc1","v1.4.0rc4","v1.4.0rc3","v1.4.0rc2","v1.4.0rc1","v1.3.2","v1.3.0rc3","v1.3.0rc2","v1.3.0rc1","v1.1.3","v1.1.2","v1.1.1","v1.1.0beta3","v1.1.0beta1","v1.0.0beta2","v1.0.0rc12","v1.0.0rc9","v1.0.0rc10","v1.0.0rc8","v1.0.0rc7","v1.0.0-rc3","v1.0.0-rc2","v1.0.0-rc1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-86096.json","vanir_signatures_modified":"2026-09-06T08:01:52Z","vanir_signatures":[{"id":"CVE-2026-86096-83c512c3","signature_type":"Function","signature_version":"v1","source":"https://github.com/px4/px4-autopilot/commit/b182e523d154fe029a49b48bb5f9d3d6693bc6bb","target":{"file":"src/modules/temperature_compensation/temperature_calibration/task.cpp","function":"TemperatureCalibration::start"},"deprecated":false,"digest":{"function_hash":"291670002793834860851775554942822061046","length":422}},{"source":"https://github.com/px4/px4-autopilot/commit/b182e523d154fe029a49b48bb5f9d3d6693bc6bb","target":{"file":"src/modules/temperature_compensation/temperature_calibration/task.cpp"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["244832928965891220803931853945211955295","90576335467556281514744862379955320723","314506963751532049517407417685238476640","181267963444085754287514806718050330382","127611855718023422551287656230273634577","36460027475728104061519996219994121654","135560598938042688657518397860433038193","75430950060912833231097688041071837063","311248229629382870633429488201806328228","221617205333035634619609381569383044180","276219112764252308089964841058683995846","161073830508510265540875939755797455065","171986228822035255928691920180958242759","267107063337752236013244127595556641449"]},"id":"CVE-2026-86096-f128debb","signature_type":"Line","signature_version":"v1"}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N"}]}