Skip to content
Heist/ feed
Back to feed
Critical

Security advisory

Type: advisorySources: OSVCVE: CVE-2026-104480

Discord libdave before 1.2.0 did not reject an MLS Welcome message when the resulting group roster contained an unrecognized participant. An attacker in control of the DAVE signaling path (the voice gateway, or an equivalent position able to add, alter, or withhold signaling messages to a client) could cause affected clients to accept an unauthorized member into the end-to-end encrypted media session, compromising the confidentiality and integrity of audio and video.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-104480
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 13:03 UTC · Revision 1

Source evidence

CVE-2026-104480

core-osv · Original source

Published 2 Oct 2026, 02:17 UTC

Discord libdave before 1.2.0 did not reject an MLS Welcome message when the resulting group roster contained an unrecognized participant. An attacker in control of the DAVE signaling path (the voice gateway, or an equivalent position able to add, alter, or withhold signaling messages to a client) could cause affected clients to accept an unauthorized member into the end-to-end encrypted media session, compromising the confidentiality and integrity of audio and video.

osv:CVE-2026-104480
Complete source record
{
  "id": "503101b484a1e0636f92fa28cfce4ecd34fd983194a998d6959cbf92f00b6866",
  "url": "https://osv.dev/vulnerability/CVE-2026-104480",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2026-104480",
    "summary": "Discord libdave before 1.2.0 did not reject an MLS Welcome message when the resulting group roster contained an unrecognized participant. An attacker in control of the DAVE signaling path (the voice gateway, or an equivalent position able to add, alter, or withhold signaling messages to a client) could cause affected clients to accept an unauthorized member into the end-to-end encrypted media session, compromising the confidentiality and integrity of audio and video.",
    "evidence": "osv:CVE-2026-104480",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-104480",
      "aliases": [
        "CVE-2026-104480"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/discord/libdave",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "9686fbaea864aa19f0675e486672b6a77811b6a1"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.2.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  },
                  {
                    "range": [
                      {
                        "fixed": "9686fbaea864aa19f0675e486672b6a77811b6a1"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.1.1/cpp",
            "v1.1.0/cpp"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-104480.json",
            "vanir_signatures": [
              {
                "id": "CVE-2026-104480-b0e24f3d",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "235659322051174508568949341601360766144",
                    "229149147340104546890189129578513104766",
                    "285266022468442697324063091174351120192",
                    "319245817311115391758408470100373224090",
                    "324931409474802619426692112449666757462",
                    "201420637343414516662209149963078285039"
                  ]
                },
                "source": "https://github.com/discord/libdave/commit/9686fbaea864aa19f0675e486672b6a77811b6a1",
                "target": {
                  "file": "cpp/src/mls/session.cpp"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              }
            ],
            "vanir_signatures_modified": "2026-10-20T16:51:45Z"
          }
        }
      ],
      "modified": "2026-10-20T16:51:45.874515262Z",
      "provider": "osv",
      "references": [
        "https://daveprotocol.com/",
        "https://github.com/discord/libdave/releases/tag/v1.2.0/cpp",
        "https://github.com/discord/libdave/commit/9686fbaea864aa19f0675e486672b6a77811b6a1",
        "https://github.com/discord/libdave"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2026-104480",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 389772,
  "published_at": "2026-10-02T02:17:02.007+00:00"
}