{"schemaVersion":3,"id":"CVE-2026-77159","aliases":["UBUNTU-CVE-2026-77159","DEBIAN-CVE-2026-77159"],"status":"published","duplicateOf":null,"title":null,"description":"A symlink-following flaw was found in libvirt's qemuTPMEmulatorPrepareHost() function. The function uses a path-based chown() on the swtpm logfile without checking for symbolic links. A local attacker with access to the swtpm account can replace the logfile with a symlink, causing libvirtd (running as root) to transfer ownership of an arbitrary file to the swtpm user.","dates":{"published":"2026-09-11T10:32:29.772Z","modified":"2026-09-15T15:40:56.022Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.5,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","exploitability":4.6,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","exploitability":4.6,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00162,"percentile":0.0505,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00162},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00162,"percentile":0.0505}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00162,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00162,"percentile":0.0505}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-61","name":"UNIX Symbolic Link (Symlink) Following","description":"The product, when opening a file or directory, does not sufficiently account for when the file is a symbolic link that resolves to a target outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.","type":"weakness","status":"Incomplete","abstraction":"Compound","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/61.html"}],"affected":[{"vendor":"debian","product":"libvirt","name":"libvirt","label":"libvirt","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/libvirt","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 12.7.0-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"All versions (No fix recorded) | < 12.7.0-1","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"libvirt","name":"libvirt","label":"libvirt","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/libvirt","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 8.0.0-1ubuntu7.21","noFixRecorded":false,"fixedIn":null},{"text":"< 10.0.0-2ubuntu8.19","noFixRecorded":false,"fixedIn":null},{"text":"< 12.0.0-1ubuntu5.5","noFixRecorded":false,"fixedIn":null}],"versionsText":"All versions (No fix recorded) | < 8.0.0-1ubuntu7.21 | < 10.0.0-2ubuntu8.19 | < 12.0.0-1ubuntu5.5","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"libvirt-hwe","name":"libvirt-hwe","label":"libvirt-hwe","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/libvirt-hwe","purlType":"deb","versions":[{"text":"< 12.0.0-1ubuntu5.5","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 12.0.0-1ubuntu5.5","eol":null,"hubHref":null}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://access.redhat.com/security/cve/CVE-2026-77159","label":"access.redhat.com/security/cve/CVE-2026-77159","hostname":"access.redhat.com","tags":["VDB Entry","X Refsource REDHAT","REPORT"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2531811","label":"bugzilla.redhat.com/show_bug.cgi?id=2531811","hostname":"bugzilla.redhat.com","tags":["Issue Tracking","X Refsource REDHAT"]},{"url":"https://gitlab.com/libvirt/libvirt/-/work_items/909","label":"gitlab.com/libvirt/libvirt/-/work_items/909","hostname":"gitlab.com","tags":[]},{"url":"https://ubuntu.com/security/CVE-2026-77159","label":"ubuntu.com/security/CVE-2026-77159","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-77159","label":"www.cve.org/CVERecord?id=CVE-2026-77159","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://ubuntu.com/security/notices/USN-8831-1","label":"ubuntu.com/security/notices/USN-8831-1","hostname":"ubuntu.com","tags":["Advisory"]},{"url":"https://ubuntu.com/security/notices/USN-8833-1","label":"ubuntu.com/security/notices/USN-8833-1","hostname":"ubuntu.com","tags":["Advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-77159","label":"security-tracker.debian.org/tracker/CVE-2026-77159","hostname":"security-tracker.debian.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:11622-1","OPENSUSE-SU-2026:21738-1","SUSE-SU-2026:23445-1","SUSE-SU-2026:23460-1","SUSE-SU-2026:23515-1","SUSE-SU-2026:23603-1","SUSE-SU-2026:3939-1","SUSE-SU-2026:4004-1","SUSE-SU-2026:4009-1","SUSE-SU-2026:4010-1","SUSE-SU-2026:4141-1","USN-8831-1","USN-8833-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:11622-1","OPENSUSE-SU-2026:21738-1","SUSE-SU-2026:23445-1","SUSE-SU-2026:23460-1","SUSE-SU-2026:23515-1","SUSE-SU-2026:23603-1","SUSE-SU-2026:3939-1","SUSE-SU-2026:4004-1","SUSE-SU-2026:4009-1","SUSE-SU-2026:4010-1","SUSE-SU-2026:4141-1","USN-8831-1","USN-8833-1"]},"timeline":[{"kind":"published","date":"2026-09-11T10:32:29.772Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-15T15:40:56.022Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":22,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T16:58:18.498Z","stale":false,"partial":false}}