Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[Security] SQL Injection Vulnerability in ListTableTool.ts (MssqlMcp/Node/src/tools)

Offen
#92 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

  1. Instantiate the ListTableTool and call run() 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

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus Azure-Samples/SQL-AI-samples

Alle Issues in Azure-Samples/SQL-AI-samples

Ähnliche Issues

Weitere Issues zu Backend & API Design

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.