Katalog CVE

CVE-2025-62378

ŚrednieCVSS 6.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

Percentyl 5 - wyżej niż 5% wszystkich znanych CVE

Streszczenie

CommandKit to meta-framework discord.js do budowania botów Discord. W wersjach od 1.2.0-rc.1 do 1.2.0-rc.11 istnieje błąd logiczny w obsłudze poleceń wiadomości, który wpływa na sposób ujawniania właściwości commandName zarówno w funkcjach middleware, jak i w kontekstach wykonywania poleceń podczas obsługi aliasów poleceń. Gdy polecenie wiadomości jest wywoływane za pomocą aliasu, wartość ctx.commandName odzwierciedla alias, a nie kanoniczną nazwę polecenia. Występuje to zarówno w funkcjach middleware, jak i w funkcji run samego polecenia. Chociaż nie jest to wyraźnie udokumentowane, przykłady i wskazówki CommandKit dotyczące używania middleware domyślnie sugerują, że ctx.commandName reprezentuje kanoniczny identyfikator polecenia. Przykłady middleware w dokumentacji konsekwentnie używają ctx.commandName do odwoływania się do wykonywanego polecenia. Deweloperzy, którzy zakładają, że ctx.commandName jest kanoniczne, mogą wprowadzić niezamierzone zachowanie, polegając na nim w logice takiej jak sprawdzanie uprawnień, ograniczanie szybkości lub rejestrowanie audytu. Może to pozwolić na nieautoryzowane wykonanie polecenia lub niedokładne decyzje dotyczące kontroli dostępu. Polecenia slash i polecenia menu kontekstowego nie są dotknięte. Problem został załatany w wersji 1.2.0-rc.12, gdzie ctx.commandName teraz konsekwentnie zwraca rzeczywistą kanoniczną nazwę polecenia niezależnie od aliasu użytego do jego wywołania.

Ocena ryzyka

Może prowadzić do nieautoryzowanego wykonania poleceń lub błędnych decyzji kontroli dostępu w botach Discord.

Rekomendacja

Zaktualizuj CommandKit do wersji 1.2.0-rc.12 lub nowszej, aby naprawić błąd logiczny.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

CommandKit is the discord.js meta-framework for building Discord bots. In versions 1.2.0-rc.1 through 1.2.0-rc.11, a logic flaw exists in the message command handler that affects how the commandName property is exposed to both middleware functions and command execution contexts when handling command aliases. When a message command is invoked using an alias, the ctx.commandName value reflects the alias rather than the canonical command name. This occurs in both middleware functions and within the command's own run function. Although not explicitly documented, CommandKit's examples and guidance around middleware usage implicitly convey that ctx.commandName represents the canonical command identifier. Middleware examples in the documentation consistently use ctx.commandName to reference the command being executed. Developers who assume ctx.commandName is canonical may introduce unintended behavior when relying on it for logic such as permission checks, rate limiting, or audit logging. This could allow unauthorized command execution or inaccurate access control decisions. Slash commands and context menu commands are not affected. This issue has been patched in version 1.2.0-rc.12, where ctx.commandName now consistently returns the actual canonical command name regardless of the alias used to invoke it.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS