GitHub Advisoryadvisory · npm

GHSA-h9mj-fghc-664w Denial of Service in mqtt

MEDIUM Published 2017-12-28 Modified 2021-09-14 Official page ↗
Aliases
CVE-2017-10910
Ecosystem
npm
Packages
mqtt
Severity
Moderate
CVSS vector
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-674
Reviewed
2020-06-16

Affected packages

• npm mqtt: >= 2.0.0, < 2.15.0 → fixed in 2.15.0

Description

Affected versions of `mqtt` do not properly handle PUBLISH packets returning from the server, leading to a Denial of Service condition. The vulnerability is completely mitigated if the only connected servers are trusted, guaranteed not to be under the control of a malicious actor. Proof of Concept The following is a demonstration of how to generate the malicious packet sequence, but does not include information on handling the initial network connections and MQTT overhead. ``` var mqttp = require('mqtt-packet'); var packets = []; for(var i=0; i<=1000;i++){ packets.push( mqttp.generate({ cmd:'publish', topic:Buffer.from('hello'), payload:Buffer.from('world'), retain: false, dup: false, messageId: ++i, qos: 1 }) ) } ``` Recommendation Update to version 2.15.0 or later.

Related

Alias · CVE (1)

  • CVE-2017-10910 MQTT.js 2.x.x prior to 2.15.0 issue in handling PUBLISH tickets may lead to an attacker causing a denial-of-service condition. vulnerability

Weakness · CWE (1)

  • CWE-674 Uncontrolled Recursion weakness

References