Skip to main navigation Skip to search Skip to main content

MBFuzzer: A Multi-Party Protocol Fuzzer for MQTT Brokers

  • Xiangpu Song
  • , Jianliang Wu*
  • , Yingpei Zeng*
  • , Hao Pan
  • , Chaoshun Zuo
  • , Qingchuan Zhao
  • , Shanqing Guo*
  • *Corresponding author for this work

Research output: Chapters, Conference Papers, Creative and Literary WorksRGC 32 - Refereed conference paper (with host publication)peer-review

Abstract

MQTT is a multi-party communication protocol widely used in IoT environments, where MQTT brokers act as servers that connect with numerous devices. Consequently, any flaws in brokers will seriously impact all participants. Given the success of fuzzing techniques in finding bugs in programs, existing fuzzing works targeting MQTT brokers face the limitation of insufficient fuzzing input space because they all adopt a two-party fuzzing model. Accordingly, the code responsible for handling multi-party communication will not be examined. Moreover, existing fuzzers focus on either memory corruption bugs or logic errors without considering whether a broker implementation is specification-compliant.
In this paper, we design a black-box fuzzing approach, MBFuzzer, for brokers to address the above limitations. We first design a multi-party fuzzing framework containing two fuzzing input senders to facilitate the exploration of code space that handles multi-party communication. To improve fuzzing efficiency, we design a message priority scheduler, six dependency rules, and a dependency queue to guide test case generation and coordinate the message sending of the two senders, respectively. We leverage differential testing to identify non-compliance bugs and design an LLM-based noncompliance bug analysis method to automatically analyze the bug report and validate whether it is a non-compliance bug. We implemented a prototype MBFuzzer and evaluated it with six mainstream MQTT brokers. MBFuzzer successfully identified 73 bugs including 20 memory bugs and 53 non-compliance bugs with 11 CVEs assigned. The comparison with state-of-the-art fuzzers indicates that MBFuzzer outperforms them in both code coverage and bug finding capabilities.

© 2025 by The USENIX Association All Rights Reserved.
Original languageEnglish
Title of host publicationSEC '25
Subtitle of host publicationProceedings of the 34th USENIX Conference on Security Symposium
PublisherUSENIX Association
Pages6179-6197
Number of pages19
ISBN (Print)978-1-939133-52-6
DOIs
Publication statusPublished - 2025
Event34th USENIX Security Symposium (USENIX Security 2025) - Seattle, United States
Duration: 13 Aug 202515 Aug 2025

Publication series

NameProceedings of the USENIX Security Symposium

Conference

Conference34th USENIX Security Symposium (USENIX Security 2025)
Abbreviated titleUSENIX Security'25
PlaceUnited States
CitySeattle
Period13/08/2515/08/25

Bibliographical note

Full text of this publication does not contain sufficient affiliation information. With consent from the author(s) concerned, the Research Unit(s) information for this record is based on the existing academic department affiliation of the author(s).

Funding

We thank anonymous reviewers for their comprehensive feedback. This work is supported by the National Natural Science Foundation of China (No. 62372268), the Major Scientific and Technological Innovation Projects of Shandong Province, China (No. 2024CXGC010114), and the Shandong Provincial Natural Science Foundation, China (No. ZR2022LZH013, No. ZR2021LZH007). It is also supported in part by the Zhejiang Provincial Natural Science Foundation of China (No. LY22F020022) and the National Natural Science Foundation of China (No. 61902098).

Fingerprint

Dive into the research topics of 'MBFuzzer: A Multi-Party Protocol Fuzzer for MQTT Brokers'. Together they form a unique fingerprint.

Cite this