GHSA-MJ2C-8HXF-FFVQ

Vulnerability from github – Published: 2025-05-19 16:25 – Updated: 2025-05-19 16:25
VLAI
Summary
Cocotais Bot has builtin .echo command injection
Details

Summary

 A command echoing feature in the framework allows users to indirectly trigger privileged behavior by injecting special platform tags. Specifically, an unauthorized user can use the /echo <qqbot-at-everyone /> command to cause the bot to send a message that mentions all members in the chat, bypassing any permission controls. This can lead to spam, disruption, or abuse of notification systems. 

Details

 The framework provides a command /echo that causes the bot to repeat any user-provided message verbatim in the group chat. However, the bot fails to sanitize or filter platform-specific control elements such as <qqbot-at-everyone />, which, when included in a message, mentions everyone (i.e., @全体成员). While normal users are forbidden from using this tag in normal chats, the bot, which has higher privileges, is allowed to do so.  Since the /echo command blindly echoes any content, a user can exploit this by sending: 

/echo <qqbot-at-everyone />

 The bot will then send a message containing <qqbot-at-everyone />, causing the platform to interpret it as an @全体成员 command, effectively allowing an unauthorized user to @everyone via the bot. 

PoC

 1. Set up a chatbot using the affected framework. 2. Join the chat that includes the bot as a regular user with no permission to use @全体成员. 3. Send the following message in the chat: 

/echo <qqbot-at-everyone />
  1. The bot will respond by repeating the message, and the platform will interpret <qqbot-at-everyone /> as an @全体成员 mention.
  2. All the chat members receive a notification, despite the user lacking that permission.  
Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "cocotais-bot"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "1.5.0-test2-hotfix"
            },
            {
              "fixed": "1.6.2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2025-47948"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-74"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2025-05-19T16:25:05Z",
    "nvd_published_at": "2025-05-17T19:15:46Z",
    "severity": "MODERATE"
  },
  "details": "### Summary\n\ufeff\nA command echoing feature in the framework allows users to indirectly trigger privileged behavior by injecting special platform tags. Specifically, an unauthorized user can use the `/echo \u003cqqbot-at-everyone /\u003e` command to cause the bot to send a message that mentions all members in the chat, bypassing any permission controls. This can lead to spam, disruption, or abuse of notification systems.\n\ufeff\n### Details\n\ufeff\nThe framework provides a command `/echo` that causes the bot to repeat any user-provided message verbatim in the group chat. However, the bot fails to sanitize or filter platform-specific control elements such as `\u003cqqbot-at-everyone /\u003e`, which, when included in a message, mentions everyone (i.e., @\u5168\u4f53\u6210\u5458). While normal users are forbidden from using this tag in normal chats, the bot, which has higher privileges, is allowed to do so.\n\ufeff\nSince the `/echo` command blindly echoes any content, a user can exploit this by sending:\n\ufeff\n```\n/echo \u003cqqbot-at-everyone /\u003e\n```\n\ufeff\nThe bot will then send a message containing `\u003cqqbot-at-everyone /\u003e`, causing the platform to interpret it as an @\u5168\u4f53\u6210\u5458 command, effectively allowing an unauthorized user to @everyone via the bot.\n\ufeff\n### PoC\n\ufeff\n1. Set up a chatbot using the affected framework.\n2. Join the chat that includes the bot as a regular user with **no permission to use @\u5168\u4f53\u6210\u5458**.\n3. Send the following message in the chat:\n\ufeff\n```\n/echo \u003cqqbot-at-everyone /\u003e\n```\n4. The bot will respond by repeating the message, and the platform will interpret `\u003cqqbot-at-everyone /\u003e` as an @\u5168\u4f53\u6210\u5458 mention.\n5. All the chat members receive a notification, despite the user lacking that permission.\n\ufeff\n\ufeff",
  "id": "GHSA-mj2c-8hxf-ffvq",
  "modified": "2025-05-19T16:25:05Z",
  "published": "2025-05-19T16:25:05Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/cocotais/cocotais-bot/security/advisories/GHSA-mj2c-8hxf-ffvq"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-47948"
    },
    {
      "type": "WEB",
      "url": "https://github.com/cocotais/cocotais-bot/commit/d1cf01a9a41b3131241d1833444b890c8d6e70b8"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/cocotais/cocotais-bot"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Cocotais Bot has builtin .echo command injection"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…