{"id":"CVE-2026-119199","kind":"vulnerability","aliases":["CVE-2026-119199"],"related":[],"title":"Nuxt dev server can leak private config secrets over HTTP","description":"Nuxt is an open-source web development framework for Vue.js. From 3.0.0 until 4.6.3, the Nuxt development server can expose the Nitro 2 development bundle at <buildDir>/dev/index.mjs through Vite file serving when the server is reachable over HTTP. Nitro inlines private runtimeConfig values resolved at build time into that bundle, including secrets configured in nuxt.config, and Nuxt 4.6.0 and later also inline the generated development appSecret. The default localhost binding limits remote exposure, production builds and Nitro 3 are not affected, and runtime configuration supplied only through NUXT_* environment variables at server startup is not inlined. This issue is fixed in version 4.6.3.","summary":"The Nuxt development server can serve its Nitro development bundle over HTTP, which contains private runtimeConfig values set in nuxt.config, including secrets. An attacker who can reach the dev server can read those secrets, and on Nuxt 4.6.0 and later also the generated development appSecret.","severity":"medium","cvss":5.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["dev-server","nuxt","runtime","self-hosted","vue"],"not_affected_if":["env-only-secrets","localhost-binding","nitro-3","production-builds"],"how_to_check":null,"fix":"- Nuxt: upgrade to `4.6.3`","status":"open","published_at":"2026-10-29T21:17:18+00:00","first_seen_at":"2026-10-29T21:26:51+00:00","triaged_at":"2026-10-29T21:28:51+00:00","updated_at":"2026-10-29T21:28:51+00:00","category":"runtime","confidence":0.8,"triage":{"at":"2026-10-29T21:28:51Z","model":"claude-haiku-5-5","output":{"fix":"- Nuxt: upgrade to `4.6.3`","reach":"network","title":"Nuxt dev server can leak private config secrets over HTTP","impact":"high","summary":"The Nuxt development server can serve its Nitro development bundle over HTTP, which contains private runtimeConfig values set in nuxt.config, including secrets. An attacker who can reach the dev server can read those secrets, and on Nuxt 4.6.0 and later also the generated development appSecret.","audience":"developers","category":"runtime","nicknames":[],"who_cares":["nuxt","vue","self-hosted","dev-server"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"Attacker reads private runtimeConfig secrets from the dev server","analyst_note":"","how_to_check":"- Check the Nuxt version in `package.json` or with `npx nuxt --version`; affected range is `3.0.0` through `4.6.3` (exclusive of the fix).\n- Confirm whether the dev server is reachable beyond localhost, for example a `--host` flag or `host` setting bound to `0.0.0.0`.\n- Check whether private secrets are set in `nuxt.config` runtimeConfig rather than only in `NUXT_*` environment variables.","plain_action":"","needs_analyst":false,"not_affected_if":["production-builds","nitro-3","localhost-binding","env-only-secrets"],"who_is_affected":"Only teams running the Nuxt development server (not production builds) with a version from 3.0.0 through 4.6.2 that is reachable over HTTP and has private secrets in nuxt.config runtimeConfig. The default localhost binding limits remote exposure, production builds and Nitro 3 are not affected, and secrets supplied only via NUXT_* environment variables at startup are not inlined.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.00076,"input_tokens":4252,"output_tokens":669,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-119199':13A,16A '-2026':12A,15A '/dev/index.mjs':98C '2':94C '3':149C '3.0.0':83C '4.6.0':63B,129C '4.6.3':85C,174C 'affect':152C 'also':66B,132C 'appsecret':70B,137C 'attack':49B 'bind':141C 'build':117C,146C 'bundl':35B,96C,121C 'config':7A 'configur':124C,155C 'contain':39B 'cve':11A,14A 'default':139C 'dev':2A,18B,54B 'dev-serv':17B 'develop':28B,34B,69B,78C,88C,95C,136C 'environ':160C 'expos':91C 'exposur':144C 'file':101C 'fix':171C 'framework':79C 'generat':68B,135C 'host':24B 'http':10A,37B,109C 'includ':46B,122C 'inlin':111C,133C,167C 'issu':169C 'later':65B,131C 'leak':5A 'limit':142C 'localhost':140C 'nitro':33B,93C,110C,148C 'nuxt':1A,20B,27B,62B,71C,87C,128C,159C 'nuxt.config':45B,126C 'open':75C 'open-sourc':74C 'privat':6A,40B,112C 'product':145C 'reach':52B 'reachabl':107C 'read':57B 'remot':143C 'resolv':115C 'runtim':21B,154C 'runtimeconfig':41B,113C 'secret':8A,47B,59B,123C 'self':23B 'self-host':22B 'serv':31B,102C 'server':3A,19B,29B,55B,89C,105C,163C 'set':43B 'sourc':76C 'startup':164C 'suppli':156C 'time':118C 'valu':42B,114C 'variabl':161C 'version':173C 'vite':100C 'vue':25B 'vue.js':81C 'web':77C","nicknames":[],"mitigations":[],"who_affected":"Only teams running the Nuxt development server (not production builds) with a version from 3.0.0 through 4.6.2 that is reachable over HTTP and has private secrets in nuxt.config runtimeConfig. The default localhost binding limits remote exposure, production builds and Nitro 3 are not affected, and secrets supplied only via NUXT_* environment variables at startup are not inlined.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"first_public_at":"2026-10-29T21:17:18+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-119199","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119199","severity":null,"published_at":"2026-10-29T21:17:18+00:00","modified_at":"2026-10-29T21:17:18+00:00","first_seen_at":"2026-10-29T21:26:51+00:00","fetched_at":"2026-10-29T21:26:51+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"}