{"id":"CVE-2026-62848","kind":"vulnerability","aliases":["CVE-2026-62848"],"related":[],"title":"Metalama: Visual Studio pipe deserialization lets a local process run code","description":"Metalama is a Roslyn-based open-source patterns and architecture toolkit for C#. From 2023.0.101-rc until 2025.1.18, 2026.0.25 and 2026.1.19, the Windows Visual Studio integration deserializes local named-pipe messages without restricting which CLR types can be instantiated. The pipe connects `devenv`, the out-of-process Roslyn code-analysis process and the `CodeLens` process, and has the predictable name `Metalama_{role}_{processId}_{hash(PackageVersion)}`. Releases from the first public 2023.0 line through 2026.0.x use Newtonsoft.Json with `TypeNameHandling.All`; the later `SerializationBinder` only remaps assembly names, and `BindToType` resolves arbitrary wire-supplied types without an allow-list. Releases 2026.1.0 through 2026.1.18 use typeless MessagePack with `TypelessObjectResolver` and likewise instantiate arbitrary types. A same-user local process able to write to the pipe can send crafted messages that lead to arbitrary code execution with confidentiality, integrity and availability impacts inside the affected Visual Studio process. Default Windows pipe ACLs limit writers to the same logged-in user, so this does not escalate privileges or cross a security boundary; command-line and MSBuild-only builds do not use the channel. The maintained Metalama + PostSharp extension is affected from 2024.1 through 2026.1.4, while earlier Metalama-free PostSharp versions are unaffected. The retired Metalama and Caravela extensions remain affected and require removal or migration. The framework issue is fixed in versions 2025.1.18, 2026.0.25 and 2026.1.19; the maintained Metalama + PostSharp Visual Studio extension is fixed in version 2026.1.5. The retired Metalama and Caravela extensions require removal or migration.","summary":"Metalama's Windows Visual Studio integration deserializes messages on a local named pipe without restricting which types it creates. A process running as the same logged-in user that writes to the pipe can send crafted messages and run arbitrary code inside the Visual Studio process.","severity":"high","cvss":7.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":[".net","c#","metalama","package","postsharp","visual-studio","windows"],"not_affected_if":["command-line-build","msbuild-only","non-windows","not-using-visual-studio-extension"],"how_to_check":"- Check whether the Metalama Visual Studio extension (or Metalama + PostSharp extension) is installed in Visual Studio on Windows.\n- Check the Metalama framework version in project packages: affected versions run from `2023.0.101-rc` through `2025.1.18`, `2026.0.25` and `2026.1.19`, with `2026.1.0` through `2026.1.18` also affected.\n- Check the Metalama + PostSharp extension version: affected from `2024.1` through `2026.1.4`.\n- Check whether the retired Metalama or Caravela extensions are installed.","fix":"- Metalama framework: move to `2025.1.18`, `2026.0.25` or `2026.1.19` depending on the release line.\n- Metalama + PostSharp Visual Studio extension: move to `2026.1.5`.\n- Retired Metalama and Caravela extensions: remove or migrate, per the sources.","status":"open","published_at":"2026-10-30T21:17:13+00:00","first_seen_at":"2026-10-30T21:25:53+00:00","triaged_at":"2026-10-30T21:26:45+00:00","updated_at":"2026-10-30T21:26:45+00:00","category":"package","confidence":0.85,"triage":{"at":"2026-10-30T21:26:45Z","model":"claude-haiku-5-5","output":{"fix":"- Metalama framework: move to `2025.1.18`, `2026.0.25` or `2026.1.19` depending on the release line.\n- Metalama + PostSharp Visual Studio extension: move to `2026.1.5`.\n- Retired Metalama and Caravela extensions: remove or migrate, per the sources.","reach":"local","title":"Metalama: Visual Studio pipe deserialization lets a local process run code","impact":"high","summary":"Metalama's Windows Visual Studio integration deserializes messages on a local named pipe without restricting which types it creates. A process running as the same logged-in user that writes to the pipe can send crafted messages and run arbitrary code inside the Visual Studio process.","audience":"developers","category":"package","nicknames":[],"who_cares":["metalama","postsharp","c#","visual-studio","windows",".net"],"confidence":0.85,"fix_status":"available","needs_auth":"yes","worst_case":"Arbitrary code runs inside the Visual Studio process as the same user","analyst_note":"","how_to_check":"- Check whether the Metalama Visual Studio extension (or Metalama + PostSharp extension) is installed in Visual Studio on Windows.\n- Check the Metalama framework version in project packages: affected versions run from `2023.0.101-rc` through `2025.1.18`, `2026.0.25` and `2026.1.19`, with `2026.1.0` through `2026.1.18` also affected.\n- Check the Metalama + PostSharp extension version: affected from `2024.1` through `2026.1.4`.\n- Check whether the retired Metalama or Caravela extensions are installed.","plain_action":"","needs_analyst":false,"not_affected_if":["command-line-build","msbuild-only","non-windows","not-using-visual-studio-extension"],"who_is_affected":"Only Windows developers who use the Metalama Visual Studio integration are exposed; command-line and MSBuild-only builds do not use the affected channel. Exploitation needs a same-user local process that can write to the pipe, and default Windows pipe ACLs restrict writers to the logged-in user, so it does not cross a privilege boundary. Teams on Linux, macOS or build-only pipelines can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000867,"input_tokens":4660,"output_tokens":803,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-62848':14A,17A '2023.0':149C '2023.0.101':90C '2024.1':271C '2025.1.18':93C,303C '2026.0':152C '2026.0.25':94C,304C '2026.1.0':179C '2026.1.18':181C '2026.1.19':96C,306C '2026.1.4':273C '2026.1.5':318C 'abl':198C 'acl':229C 'affect':222C,269C,290C 'allow':176C 'allow-list':175C 'analysi':128C 'arbitrari':67B,168C,190C,211C 'architectur':85C 'assembl':163C 'avail':218C 'base':79C 'bindtotyp':166C 'boundari':249C 'build':257C 'c':19B,88C 'caravela':287C,323C 'channel':262C 'clr':111C 'code':11A,68B,127C,212C 'code-analysi':126C 'codelen':132C 'command':251C 'command-lin':250C 'confidenti':215C 'connect':118C 'craft':63B,206C 'creat':45B 'cross':246C 'cve':12A,15A 'default':226C 'deseri':5A,33B,102C 'devenv':119C 'earlier':275C 'escal':243C 'execut':213C 'extens':267C,288C,313C,324C 'first':147C 'fix':300C,315C 'framework':297C 'free':278C 'hash':142C 'impact':219C 'insid':69B,220C 'instanti':115C,189C 'integr':32B,101C,216C 'issu':298C 'later':159C 'lead':209C 'let':6A 'likewis':188C 'limit':230C 'line':150C,252C 'list':177C 'local':8A,37B,103C,196C 'log':53B,236C 'logged-in':52B,235C 'maintain':264C,308C 'messag':34B,64B,107C,207C 'messagepack':184C 'metalama':1A,20B,27B,74C,139C,265C,277C,285C,309C,321C 'metalama-fre':276C 'migrat':295C,328C 'msbuild':255C 'msbuild-on':254C 'name':38B,105C,138C,164C 'named-pip':104C 'net':18B 'newtonsoft.json':155C 'open':81C 'open-sourc':80C 'out-of-process':121C 'packag':21B 'packagevers':143C 'pattern':83C 'pipe':4A,39B,60B,106C,117C,203C,228C 'postsharp':22B,266C,279C,310C 'predict':137C 'privileg':244C 'process':9A,47B,73B,124C,129C,133C,197C,225C 'processid':141C 'public':148C 'rc':91C 'releas':144C,178C 'remain':289C 'remap':162C 'remov':293C,326C 'requir':292C,325C 'resolv':167C 'restrict':41B,109C 'retir':284C,320C 'role':140C 'roslyn':78C,125C 'roslyn-bas':77C 'run':10A,48B,66B 'same-us':193C 'secur':248C 'send':62B,205C 'serializationbind':160C 'sourc':82C 'studio':3A,25B,31B,72B,100C,224C,312C 'suppli':171C 'toolkit':86C 'type':43B,112C,172C,191C 'typeless':183C 'typelessobjectresolv':186C 'typenamehandling.all':157C 'unaffect':282C 'use':154C,182C,260C 'user':55B,195C,238C 'version':280C,302C,317C 'visual':2A,24B,30B,71B,99C,223C,311C 'visual-studio':23B 'window':26B,29B,98C,227C 'wire':170C 'wire-suppli':169C 'without':40B,108C,173C 'write':57B,200C 'writer':231C 'x':153C","nicknames":[],"mitigations":[],"who_affected":"Only Windows developers who use the Metalama Visual Studio integration are exposed; command-line and MSBuild-only builds do not use the affected channel. Exploitation needs a same-user local process that can write to the pipe, and default Windows pipe ACLs restrict writers to the logged-in user, so it does not cross a privilege boundary. Teams on Linux, macOS or build-only pipelines can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"first_public_at":"2026-10-30T21:17:13+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-62848","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-62848","severity":null,"published_at":"2026-10-30T21:17:13+00:00","modified_at":"2026-10-30T21:17:13+00:00","first_seen_at":"2026-10-30T21:25:53+00:00","fetched_at":"2026-10-30T21:25:53+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"}