GHSA-F26W-GH5M-QQ77

Vulnerability from github – Published: 2025-06-09 20:29 – Updated: 2025-06-10 14:45
VLAI
Summary
Pion Interceptor's improper RTP padding handling allows remote crash for SFU users (DoS)
Details

Impact

Pion Interceptor versions v0.1.36 through v0.1.38 contain a bug in a RTP packet factory that can be exploited to trigger a panic with Pion based SFU via crafted RTP packets, This only affect users that use pion/interceptor.

Patches

Upgrade to v0.1.39 or later, which includes PR #338 which validates that: padLen > 0 && padLen <= payloadLength and return error on overflow, avoiding panic.

If upgrading is not possible, apply the patch from the pull request manually or drop packets whose P-bit is set but whose padLen is zero or larger than the remaining payload.

Workarounds

At the application layer, reject any RTP packet where:

hasPadding (P-bit field) == true  &&  (padLen == 0 || padLen > packetLen – headerLen)

before passing it to Pion’s packet factories.

References

Commit fixing the bug: https://github.com/pion/interceptor/commit/fa5b35ea867389cec33a9c82fffbd459ca8958e5 Pull request: https://github.com/pion/interceptor/pull/338 Issue: https://github.com/pion/webrtc/issues/3148

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "Go",
        "name": "github.com/pion/interceptor"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0.1.36"
            },
            {
              "fixed": "0.1.39"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2025-49140"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-770"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2025-06-09T20:29:40Z",
    "nvd_published_at": "2025-06-09T22:15:22Z",
    "severity": "HIGH"
  },
  "details": "### Impact\nPion Interceptor versions v0.1.36 through v0.1.38 contain a bug in a RTP packet factory that can be exploited to trigger a panic with Pion based SFU via crafted RTP packets, This only affect users that use pion/interceptor.\n\n### Patches\n\nUpgrade to v0.1.39 or later, which includes PR [#338](https://github.com/pion/interceptor/pull/338) which validates that: `padLen \u003e 0 \u0026\u0026 padLen \u003c= payloadLength` and return error  on overflow, avoiding panic.\n\nIf upgrading is not possible, apply the patch from the pull request manually or drop packets whose P-bit is set but whose padLen is zero or larger than the remaining payload.\n\n### Workarounds\nAt the application layer, reject any RTP packet where:\n```\nhasPadding (P-bit field) == true  \u0026\u0026  (padLen == 0 || padLen \u003e packetLen \u2013 headerLen)\n```\n\nbefore passing it to Pion\u2019s packet factories.\n\n### References\nCommit fixing the bug: https://github.com/pion/interceptor/commit/fa5b35ea867389cec33a9c82fffbd459ca8958e5\nPull request: https://github.com/pion/interceptor/pull/338\nIssue: https://github.com/pion/webrtc/issues/3148",
  "id": "GHSA-f26w-gh5m-qq77",
  "modified": "2025-06-10T14:45:07Z",
  "published": "2025-06-09T20:29:40Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/pion/interceptor/security/advisories/GHSA-f26w-gh5m-qq77"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-49140"
    },
    {
      "type": "WEB",
      "url": "https://github.com/pion/webrtc/issues/3148"
    },
    {
      "type": "WEB",
      "url": "https://github.com/pion/interceptor/pull/338"
    },
    {
      "type": "WEB",
      "url": "https://github.com/pion/interceptor/commit/fa5b35ea867389cec33a9c82fffbd459ca8958e5"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/pion/interceptor"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Pion Interceptor\u0027s improper RTP padding handling allows remote crash for SFU users (DoS)"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

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.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    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.