CVE-2026-71274

OpenBK7231T Stored XSS via Unsanitized MQTT-Set Channel Labels

Published Aug 5, 2026 CVSS 3.1 · 8.5 High EPSS < 1% KEV · Not listed
Description
OpenBK7231T's CHANNEL_SetLabel (src/cmnds/cmd_channels.c) stores channel labels received via the MQTT SetChannelLabel command using strdup with no HTML sanitization. CHANNEL_GetLabel returns these labels unsanitized, and they are rendered via hprintf255 at 15+ locations in src/httpserver/http_fns.c with no HTML encoding.

Analysis

AI-generated

Technical impact

OpenBK7231T's CHANNEL_SetLabel function (src/cmnds/cmd_channels.c) stores channel labels received via the MQTT SetChannelLabel command with strdup, omitting any HTML sanitization. When the label is retrieved with CHANNEL_GetLabel, the raw data is returned and rendered in the web interface using hprintf255 at over fifteen locations within src/httpserver/http_fns.c, without HTML encoding. This results in a stored cross‑site scripting vulnerability, allowing an attacker to embed malicious JavaScript that will execute in any browser that views the device’s web panel, potentially enabling session hijack, credential theft, or other client‑side compromise.

Affected Systems

The vulnerability affects the OpenBK7231T_App firmware released by openshwprojects. No specific version range is listed in the advisory, so all current and future builds that use the vulnerable CHANNEL_SetLabel implementation are at risk.

Risk and Exploitability

The CVSS score of 8.5 indicates high severity. The EPSS score of 0.0018 (approximately <1%) shows a very low but nonzero likelihood that this vulnerability is actively exploited. The description suggests the common deployment of MQTT brokers without authentication or with weak access controls, so it is inferred that an attacker could reach the vulnerable command. Because the flaw is triggered by MQTT traffic, it is inferred that the attack can be performed from any network location that can reach the broker, making it broadly exploitable in the absence of access restrictions.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the OpenBK7231T firmware to a release that sanitizes or validates channel labels before storage and HTML‑encoding before output
  • Configure the MQTT broker to require authentication and restrict the SetChannelLabel command to authorized devices only
  • Implement or enforce input validation on the device side to strip or escape any HTML or JavaScript content before it is written to the channel label store

Generated by OpenCVE AI on August 10, 2026 at 21:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Description OpenBK7231T's CHANNEL_SetLabel() (src/cmnds/cmd_channels.c) stores channel labels received via the MQTT SetChannelLabel command using strdup() with no HTML sanitization. CHANNEL_GetLabel() returns these labels unsanitized, and they are rendered via hprintf255() at 15+ locations in src/httpserver/http_fns.c with no HTML encoding. An attacker with MQTT broker access (commonly unauthenticated in real deployments) can set a channel label containing a <script> payload that executes when any user views the device's web panel. OpenBK7231T's CHANNEL_SetLabel (src/cmnds/cmd_channels.c) stores channel labels received via the MQTT SetChannelLabel command using strdup with no HTML sanitization. CHANNEL_GetLabel returns these labels unsanitized, and they are rendered via hprintf255 at 15+ locations in src/httpserver/http_fns.c with no HTML encoding.
Title OpenBK7231T - Stored XSS via Unsanitized MQTT-Set Channel Labels OpenBK7231T Stored XSS via Unsanitized MQTT-Set Channel Labels
Type Values Removed Values Added
Title OpenBK7231T Stored XSS via Unsanitized MQTT-Set Channel Labels OpenBK7231T - Stored XSS via Unsanitized MQTT-Set Channel Labels
Type Values Removed Values Added
First Time appeared Openshwprojects
Openshwprojects openbk7231t App
Vendors & Products Openshwprojects
Openshwprojects openbk7231t App
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description OpenBK7231T's CHANNEL_SetLabel() (src/cmnds/cmd_channels.c) stores channel labels received via the MQTT SetChannelLabel command using strdup() with no HTML sanitization. CHANNEL_GetLabel() returns these labels unsanitized, and they are rendered via hprintf255() at 15+ locations in src/httpserver/http_fns.c with no HTML encoding. An attacker with MQTT broker access (commonly unauthenticated in real deployments) can set a channel label containing a <script> payload that executes when any user views the device's web panel.
Title OpenBK7231T Stored XSS via Unsanitized MQTT-Set Channel Labels
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 8.5, 'vector': 'CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N'}

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Sources

Status
PUBLISHED
Assigner
TuranSec
Published
Updated
Aug 10, 2026, 11:46 AM
Reserved
Aug 5, 2026, 12:23 PM
Status
Deferred
Published
Aug 5, 2026, 1:24 PM
Modified
Oct 24, 2026, 3:10 PM