[v2] @modelcontextprotocol/server inlines fast-uri 3.1.0, which has 9 published advisories
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
- Área
- build-system, security
Línea de trabajo
Empieza en pnpm-lock.yaml en main, donde se resuelven [email protected] (y [email protected]), y averigua qué los arrastra — probablemente a través de ajv usado por la compilación. Después localiza el paso de empaquetado que los incrusta en dist/ (los comentarios //#region ../../node_modules/.pnpm/... en dist/ajvProvider-*.mjs muestran las rutas). Se considera terminado cuando: fast-uri se resuelve a 3.1.8 o posterior en el lockfile, la misma versión aparece en un dist/ recién compilado, y una recompilación más npm pack + la comprobación grep -ho '#region ../../node_modules/.pnpm/[^/]*/' package/dist/*.mjs | sort -u del issue ya no imprime [email protected]; opcionalmente documentar la lista de paquetes incrustados en README o en los metadatos del paquete.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened?
@modelcontextprotocol/server 2.2.0, 2.3.0, and 2.3.1 inline ajv 8.18.0 and fast-uri 3.1.0 into dist/ instead of declaring them as dependencies (their dependencies are only zod and @modelcontextprotocol/core; fast-uri is in dist/ajvProvider-*.mjs, under //#region ../../node_modules/.pnpm/[email protected]/...). pnpm-lock.yaml on main still resolves [email protected].
fast-uri 3.1.0 is affected by these advisories, all fixed in 3.1.8. All 9 are already public, and #2036 asks for the same kind of bump in v1:
GHSA-4c8g-83qw-93j6, GHSA-7p8r-x3mc-p8w7, GHSA-f65p-4m7j-42xc, GHSA-hrr3-gc8f-f4qj, GHSA-jqff-g426-hqxp, GHSA-q3j6-qgpj-74h6, GHSA-qw65-cvwx-89v3, GHSA-v2hh-gcrm-f6hx, GHSA-v39h-62p7-jpjc.
Because the code is inlined, a consumer cannot raise it with overrides or resolutions, and the inlined versions do not appear in the consumer's lockfile, so tools that read the lockfile cannot report them. In our case, moving from @modelcontextprotocol/sdk 1.x (whose ajv resolved to fast-uri 3.1.8 in our lockfile) to v2 would ship an older fast-uri than before, so we are holding the migration.
We have not checked whether any of these advisories is reachable through the SDK's use of ajv.
What did you expect?
- A release built with fast-uri 3.1.8 or later.
- Optionally, a list of the packages and versions inlined in
dist/(in the README or package metadata), so consumers can keep their SBOMs and third-party notices accurate.
Code to reproduce
npm pack @modelcontextprotocol/[email protected]
tar xzf modelcontextprotocol-server-2.3.1.tgz
grep -ho '#region ../../node_modules/.pnpm/[^/]*/' package/dist/*.mjs | sort -u
# prints, among others, .pnpm/[email protected]/ and .pnpm/[email protected]/
SDK version
@modelcontextprotocol/server 2.2.0, 2.3.0, 2.3.1
Area
Server
- Lenguaje dominante
- TypeScript
- Estrellas
- 13.5k
- Forks
- 2.3k
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 51
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de modelcontextprotocol/typescript-sdk
-
Stateless 405 response omits the Allow headerPosiblemente ocupada @Hugo-DDT la tomó hoy. Abiertov2
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
modelcontextprotocol/typescript-sdk#2970 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
v1 v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
modelcontextprotocol/typescript-sdk#2946 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
[v2] URI template reserved expansions encode existing %HH sequences againPosiblemente ocupada @takagibit18 la tomó hace 9 días. Abiertov1 v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
modelcontextprotocol/typescript-sdk#2920 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[v2] URI template strict expansions leave !'()* unencodedPosiblemente ocupada @takagibit18 la tomó hace 9 días. Abiertov1 v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
modelcontextprotocol/typescript-sdk#2919 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Malformed params on spec request methods return -32603 Internal error instead of -32602 Invalid paramsPosiblemente ocupada @Gauravtiwari31 la tomó hace 9 días. Abiertov1 v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
modelcontextprotocol/typescript-sdk#2916 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de modelcontextprotocol/typescript-sdk
Issues similares
-
submodule-pointer-regression
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
smith-horn/skillsmith#3061 ·
Los mantenedores suelen responder en 1 día
-
area: ops type: test
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
accensa/x402-facilitator-stellar#559 ·
Los mantenedores suelen responder en 1 día
-
Fix the no-pin ruling in line-drawings: pin a below-the-record stage at the record's chapterAbiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
cosimochellini/one-piece-zero-spoiler#551 ·
Los mantenedores suelen responder en 1 día
-
getWatched() omits __proto__ directories when cwd is setPosiblemente ocupada @maxazure la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
-
area:web enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día