[Security] SQL Injection Vulnerability in ListTableTool.ts (MssqlMcp/Node/src/tools)
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 52/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- node.js, sql, typescript
Rechercherichtung
Beginnen Sie mit MssqlMcp/Node/src/tools/ListTableTool.ts und untersuchen Sie die run()-Methode, insbesondere, wie das parameters-Array zum Erstellen des schema-Filters verwendet wird. Reproduzieren Sie die bereitgestellte bösartige Eingabe anhand des Beispiels und überprüfen Sie anschließend, dass schema-Werte die Abfrage nicht verändern können und dass die normale Auflistung von Tabellen weiterhin funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
The ListTableTool class in the Node.js MCP sample is vulnerable to SQL injection attacks due to unsanitized user input being directly interpolated into a dynamic SQL query. This affects the run() method when filtering by schemas via the parameters array.
Affected File: MssqlMcp/Node/src/tools/ListTableTool.ts
Steps to Reproduce
- Instantiate the
ListTableTooland callrun()with malicious input:{ "parameters": ["dbo'; SELECT name FROM sys.databases --"] }
query becomes:
SELECT TABLE_SCHEMA + '.' + TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA IN ('dbo'; SELECT name FROM sys.databases --') ORDER BY TABLE_SCHEMA, TABLE_NAME
- Vorherrschende Sprache
- HTML
- Sterne
- 331
- Forks
- 209
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Azure-Samples/SQL-AI-samples
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
Azure-Samples/SQL-AI-samples#90 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 30/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Azure-Samples/SQL-AI-samples#79 · 6 Reaktionen ·
-
Local dbOffen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
Alle Issues in Azure-Samples/SQL-AI-samples
Ähnliche Issues
-
bug: directory index route root priority is overwritten when wildcard is falseEvtl. vergeben @TalhaHunter101 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
fastify/fastify-static#617 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug go
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
genkit-ai/genkit#6761 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 87/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
spring-projects/spring-grpc#442 ·