{"id":"CVE-2026-55222","kind":"vulnerability","aliases":["CVE-2026-55222"],"related":[],"title":"Isar: wrong directory ownership lets an image user tamper with apt keys","description":"Isar is an integration system for automated root filesystem generation. In versions 0.11 and newer, /etc/apt/trusted.gpg.d is created manually during bootstrap setup to be able to deploy local keys. By that, the directory is owned by the calling user (the one that executes Isar) instead of root. If the calling user's id is identical to one of an unprivileged user inside the image, this user is able to alter existing keys and deploy new ones, silently breaking the apt repo integrity protection. The issue is has no impact on those images that use an immutable rootfs, or if apt is never invoked. Changing only the keys does not trigger an exploit, it's just one step in a chain. An attacker would also have to manipulate a remote repo or intercept non-secure communication with it. This issue has been patched via commit 29e84ed.","summary":"Isar, a tool that builds Linux root filesystems, creates the apt trusted keyring directory owned by the user running the build instead of root from version 0.11 on. A local user inside the image whose ID matches that build user could replace or add apt signing keys, which weakens apt's repository integrity checks.","severity":"medium","cvss":5.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["apt","embedded-linux","image-builds","isar","package"],"not_affected_if":["apt-never-invoked","immutable-rootfs","isar-below-0.11"],"how_to_check":"- Check the Isar version used to build images, for example with `git -C isar describe --tags` or the version in the build tree, and see whether it is `0.11` or newer.\n- Inspect the built image's `/etc/apt/trusted.gpg.d` ownership with `ls -ld /etc/apt/trusted.gpg.d` and look for a non-root owner.","fix":"- Update Isar to the release that includes commit `29e84ed`; the exact fixed version is unknown from the sources.\n- Rebuild images after the update so `/etc/apt/trusted.gpg.d` is owned by root.","status":"open","published_at":"2026-10-23T15:17:32+00:00","first_seen_at":"2026-10-23T21:57:34+00:00","triaged_at":"2026-10-25T04:28:51+00:00","updated_at":"2026-10-25T04:28:51+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T04:28:51Z","model":"claude-haiku-5-5","output":{"fix":"- Update Isar to the release that includes commit `29e84ed`; the exact fixed version is unknown from the sources.\n- Rebuild images after the update so `/etc/apt/trusted.gpg.d` is owned by root.","reach":"local","title":"Isar: wrong directory ownership lets an image user tamper with apt keys","impact":"medium","summary":"Isar, a tool that builds Linux root filesystems, creates the apt trusted keyring directory owned by the user running the build instead of root from version 0.11 on. A local user inside the image whose ID matches that build user could replace or add apt signing keys, which weakens apt's repository integrity checks.","category":"package","nicknames":[],"who_cares":["isar","embedded-linux","image-builds","apt"],"confidence":0.7,"needs_auth":"yes","worst_case":"Apt signing keys replaced, so malicious packages can pass repository integrity checks","analyst_note":"","how_to_check":"- Check the Isar version used to build images, for example with `git -C isar describe --tags` or the version in the build tree, and see whether it is `0.11` or newer.\n- Inspect the built image's `/etc/apt/trusted.gpg.d` ownership with `ls -ld /etc/apt/trusted.gpg.d` and look for a non-root owner.","needs_analyst":false,"not_affected_if":["immutable-rootfs","apt-never-invoked","isar-below-0.11"],"who_is_affected":"Teams that use Isar 0.11 or newer to generate root filesystems with apt and ship images where unprivileged users exist inside the image. The exposure needs the build user's numeric ID to match an in-image user, and an attacker also has to manipulate or intercept a remote apt repository. Images with an immutable rootfs or images where apt is never run are not affected.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000676,"input_tokens":3463,"output_tokens":659,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-55222':15A,18A '/etc/apt/trusted.gpg.d':97C '0.11':54B,94C '29e84':227C 'abl':106C,149C 'add':71B 'also':205C 'alter':151C 'apt':11A,19B,38B,72B,77B,161C,181C 'attack':203C 'autom':88C 'bootstrap':102C 'break':159C 'build':25B,32B,48B,66B 'call':119C,131C 'chain':201C 'chang':185C 'check':81B 'commit':226C 'communic':217C 'could':68B 'creat':36B,99C 'cve':13A,16A 'deploy':108C,155C 'directori':3A,41B,114C 'ed':228C 'embed':21B 'embedded-linux':20B 'execut':124C 'exist':152C 'exploit':193C 'filesystem':35B,90C 'generat':91C 'id':63B,134C 'ident':136C 'imag':7A,24B,61B,145C,173C 'image-build':23B 'immut':177C 'impact':170C 'insid':59B,143C 'instead':49B,126C 'integr':80B,85C,163C 'intercept':213C 'invok':184C 'isar':1A,26B,28B,82C,125C 'issu':166C,221C 'key':12A,74B,110C,153C,188C 'keyr':40B 'let':5A 'linux':22B,33B 'local':57B,109C 'manipul':208C 'manual':100C 'match':64B 'never':183C 'new':156C 'newer':96C 'non':215C 'non-secur':214C 'one':122C,138C,157C,197C 'own':42B,116C 'ownership':4A 'packag':27B 'patch':224C 'protect':164C 'remot':210C 'replac':69B 'repo':162C,211C 'repositori':79B 'root':34B,51B,89C,128C 'rootf':178C 'run':46B 'secur':216C 'setup':103C 'sign':73B 'silent':158C 'step':198C 'system':86C 'tamper':9A 'tool':30B 'trigger':191C 'trust':39B 'unprivileg':141C 'use':175C 'user':8A,45B,58B,67B,120C,132C,142C,147C 'version':53B,93C 'via':225C 'weaken':76B 'whose':62B 'would':204C 'wrong':2A","nicknames":[],"mitigations":[],"who_affected":"Teams that use Isar 0.11 or newer to generate root filesystems with apt and ship images where unprivileged users exist inside the image. The exposure needs the build user's numeric ID to match an in-image user, and an attacker also has to manipulate or intercept a remote apt repository. Images with an immutable rootfs or images where apt is never run are not affected.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T15:17:32+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-55222","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55222","severity":null,"published_at":"2026-10-23T15:17:32+00:00","modified_at":"2026-10-23T21:17:24+00:00","first_seen_at":"2026-10-23T21:57:34+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}