{"id":"CVE-2026-100395","kind":"vulnerability","aliases":["CVE-2026-100395"],"related":[],"title":"LXC: root cloning of untrusted container can overwrite host files","description":"LXC is a userspace interface for the Linux kernel containment features used to create and manage system containers. In LXC 7.0.0 and earlier, lxc-copy and the public liblxc clone() API can follow attacker-controlled symbolic links while updating /etc/hostname in a copied container root filesystem. The affected surfaces are lxc-copy and liblxc's public lxc_container::clone() API. The privileged cloning process must run as root. The source rootfs must be attacker-controlled or less trusted. A symlink can be placed at etc/hostname or in an intermediate component. The clone operation preserves the symlink before updating the hostname. The vulnerable write truncates and overwrites an existing file outside the destination rootfs. When root clones an untrusted container without LXC_CLONE_KEEPNAME, the copied symlink can resolve outside the destination rootfs and cause the privileged process to overwrite an existing host file with the destination container name. Unprivileged use and managers with independent cloning implementations are not affected. LXC_CLONE_KEEPNAME avoids the hostname update and therefore the affected write.","summary":"LXC 7.0.0 and earlier, in lxc-copy and the liblxc clone() API, follows attacker-controlled symbolic links when writing /etc/hostname in a copied root filesystem. When root clones an untrusted container without LXC_CLONE_KEEPNAME, an attacker can make the privileged process overwrite an existing host file with the destination container name.","severity":"medium","cvss":6.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["containers","infrastructure","linux","lxc","self-hosted"],"not_affected_if":["independent-clone-tooling","trusted-images-only","unprivileged-use"],"how_to_check":"- Check the installed LXC version with `lxc-create --version` or `lxc-info --version`; versions `7.0.0` and earlier are in scope.\n- Look for root-run scripts or tools that call `lxc-copy` or `lxc_container::clone()` on container images that are not fully trusted.\n- Unprivileged use and managers with their own cloning code are not affected.","fix":null,"status":"open","published_at":"2026-11-05T22:17:41+00:00","first_seen_at":"2026-11-05T22:46:05+00:00","triaged_at":"2026-11-05T22:46:40+00:00","updated_at":"2026-11-05T22:46:40+00:00","category":"infrastructure","confidence":0.6,"triage":{"at":"2026-11-05T22:46:40Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"LXC: root cloning of untrusted container can overwrite host files","impact":"high","summary":"LXC 7.0.0 and earlier, in lxc-copy and the liblxc clone() API, follows attacker-controlled symbolic links when writing /etc/hostname in a copied root filesystem. When root clones an untrusted container without LXC_CLONE_KEEPNAME, an attacker can make the privileged process overwrite an existing host file with the destination container name.","audience":"businesses","category":"infrastructure","nicknames":[],"who_cares":["lxc","linux","self-hosted","containers"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"root clone process overwrites an existing host file","analyst_note":"Confirm the fixed version and patch details from the linked GitHub patch and vendor advisory pages; sources here do not state a fixed version.","how_to_check":"- Check the installed LXC version with `lxc-create --version` or `lxc-info --version`; versions `7.0.0` and earlier are in scope.\n- Look for root-run scripts or tools that call `lxc-copy` or `lxc_container::clone()` on container images that are not fully trusted.\n- Unprivileged use and managers with their own cloning code are not affected.","plain_action":"","needs_analyst":true,"not_affected_if":["unprivileged-use","trusted-images-only","independent-clone-tooling"],"who_is_affected":"Exposure requires root to clone a container whose source root filesystem is attacker-controlled or less trusted, using lxc-copy or liblxc clone() without LXC_CLONE_KEEPNAME. Unprivileged use and independent cloning implementations are not affected. Hosts that only run their own trusted images or never clone as root can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000786,"input_tokens":4527,"output_tokens":666,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-100395':13A,16A '-2026':12A,15A '/etc/hostname':45B,119C '7.0.0':25B,98C 'affect':127C,240C,251C 'api':36B,109C,140C 'attack':39B,62B,113C,155C 'attacker-control':38B,112C,154C 'avoid':244C 'caus':215C 'clone':3A,35B,53B,59B,108C,139C,143C,173C,197C,203C,236C,242C 'compon':171C 'contain':6A,17B,56B,76B,87C,95C,123C,138C,200C,228C 'control':40B,114C,156C 'copi':31B,48B,103C,122C,132C,206C 'creat':91C 'cve':11A,14A 'destin':75B,193C,212C,227C 'earlier':27B,100C 'etc/hostname':166C 'exist':70B,189C,222C 'featur':88C 'file':10A,72B,190C,224C 'filesystem':50B,125C 'follow':37B,111C 'host':9A,23B,71B,223C 'hostnam':181C,246C 'implement':237C 'independ':235C 'infrastructur':18B 'interfac':82C 'intermedi':170C 'keepnam':60B,204C,243C 'kernel':86C 'less':158C 'liblxc':34B,107C,134C 'link':42B,116C 'linux':19B,85C 'lxc':1A,20B,24B,30B,58B,78C,97C,102C,131C,137C,202C,241C 'lxc-copi':29B,101C,130C 'make':64B 'manag':93C,233C 'must':145C,152C 'name':77B,229C 'oper':174C 'outsid':191C,210C 'overwrit':8A,68B,187C,220C 'place':164C 'preserv':175C 'privileg':66B,142C,217C 'process':67B,144C,218C 'public':106C,136C 'resolv':209C 'root':2A,49B,52B,124C,148C,196C 'rootf':151C,194C,213C 'run':146C 'self':22B 'self-host':21B 'sourc':150C 'surfac':128C 'symbol':41B,115C 'symlink':161C,177C,207C 'system':94C 'therefor':249C 'truncat':185C 'trust':159C 'unprivileg':230C 'untrust':5A,55B,199C 'updat':118C,179C,247C 'use':89C,231C 'userspac':81C 'vulner':183C 'without':57B,201C 'write':44B,184C,252C","nicknames":[],"mitigations":[],"who_affected":"Exposure requires root to clone a container whose source root filesystem is attacker-controlled or less trusted, using lxc-copy or liblxc clone() without LXC_CLONE_KEEPNAME. Unprivileged use and independent cloning implementations are not affected. Hosts that only run their own trusted images or never clone as root can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["containers","infrastructure","linux","lxc","medium","selfhosted"],"campaign_type":null,"first_public_at":"2026-09-26T17:10:44+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/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","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-100395","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-100395","severity":null,"published_at":"2026-11-05T22:17:41+00:00","modified_at":"2026-11-05T22:17:41+00:00","first_seen_at":"2026-11-05T22:46:05+00:00","fetched_at":"2026-11-05T22:46:05+00:00","note":null}],"documents":[{"id":80976,"url":"https://github.com/lxc/lxc/commit/6424a91a55efc54edc25ca46e9165bd9f35b50b7","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":80977,"url":"https://github.com/lxc/lxc/commit/fa12709a79c2b63b3918297d7505108fcc840eb6","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":80978,"url":"https://github.com/lxc/lxc/security/advisories/GHSA-r23j-58gg-pjjc","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-09-26T17:10:44+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}