From 0bea41f866674096b46193502a3c8437f0eca779 Mon Sep 17 00:00:00 2001 From: Martino Ferrari Date: Wed, 1 Jul 2026 16:39:34 +0200 Subject: [PATCH] Implemented better testing and fixed skipepd frames --- AGENTS.md | 315 ++++ BUG_FIX_PLAN.md | 221 +++ BUG_REPORT.md | 1011 ++++++++++++ Client/debugger/cmd_gate_test.go | 54 + Client/debugger/main.go | 2 + Client/debugger/martecontrol.go | 55 +- Client/debugger/static/app.js | 2 +- Client/streamhub/WSClient.cpp | 17 +- Client/streamhub/build/StreamHubClient | Bin 4328712 -> 4328936 bytes Client/udpstreamer/static/app.js | 2 +- Common/Client/go/udpsprotocol/protocol.go | 16 +- .../Client/go/udpsprotocol/protocol_test.go | 97 ++ Common/Client/go/wshub/hub.go | 40 +- Common/Client/go/wshub/origin_test.go | 72 + Makefile.gcc | 2 + .../StreamHub/UDPSourceSession.cpp | 44 +- Source/Applications/StreamHub/WSServer.cpp | 55 +- .../DataSources/UDPStreamer/UDPStreamer.cpp | 183 +-- .../DataSources/UDPStreamer/UDPStreamer.h | 5 +- .../UDPStreamerClient/UDPStreamerClient.cpp | 6 +- .../Interfaces/DebugService/DebugCore.h | 24 +- .../Interfaces/DebugService/DebugService.cpp | 115 +- .../Interfaces/DebugService/DebugService.h | 7 + .../DebugService/DebugServiceBase.cpp | 29 +- .../Interfaces/UDPStream/UDPSClient.cpp | 33 + .../Interfaces/UDPStream/UDPSClient.h | 11 + .../Interfaces/UDPStream/UDPSServer.cpp | 2 + .../StreamHub/BoundsCheckTest.cpp | 73 + .../StreamHub/WSServerBufferTest.cpp | 92 ++ Test/Applications/StreamHub/depends.x86-linux | 381 ----- .../StreamHub/dependsRaw.x86-linux | 381 ----- .../DataSources/UDPStreamer/depends.x86-linux | 199 --- .../UDPStreamer/dependsRaw.x86-linux | 199 --- .../UDPStreamerClient/Makefile.gcc | 1 + .../UDPStreamerClient/Makefile.inc | 59 + .../UDPStreamerClientGTest.cpp | 142 ++ .../UDPStreamerClientTest.cpp | 1448 +++++++++++++++++ .../UDPStreamerClient/UDPStreamerClientTest.h | 157 ++ .../chain/__pycache__/collect.cpython-314.pyc | Bin 19935 -> 24025 bytes .../validate_waveform.cpython-314.pyc | Bin 19767 -> 22326 bytes Test/E2E/chain/client/chain-client | Bin 8739729 -> 8739729 bytes Test/E2E/chain/collect.py | 107 +- Test/E2E/chain/run_chain_e2e.sh | 4 +- Test/E2E/chain/validate_waveform.py | 40 +- Test/GTest/depends.x86-linux | 197 --- Test/GTest/dependsRaw.x86-linux | 197 --- 46 files changed, 4358 insertions(+), 1739 deletions(-) create mode 100644 AGENTS.md create mode 100644 BUG_FIX_PLAN.md create mode 100644 BUG_REPORT.md create mode 100644 Client/debugger/cmd_gate_test.go create mode 100644 Common/Client/go/udpsprotocol/protocol_test.go create mode 100644 Common/Client/go/wshub/origin_test.go create mode 100644 Test/Applications/StreamHub/BoundsCheckTest.cpp create mode 100644 Test/Applications/StreamHub/WSServerBufferTest.cpp delete mode 100644 Test/Applications/StreamHub/depends.x86-linux delete mode 100644 Test/Applications/StreamHub/dependsRaw.x86-linux delete mode 100644 Test/Components/DataSources/UDPStreamer/depends.x86-linux delete mode 100644 Test/Components/DataSources/UDPStreamer/dependsRaw.x86-linux create mode 100644 Test/Components/DataSources/UDPStreamerClient/Makefile.gcc create mode 100644 Test/Components/DataSources/UDPStreamerClient/Makefile.inc create mode 100644 Test/Components/DataSources/UDPStreamerClient/UDPStreamerClientGTest.cpp create mode 100644 Test/Components/DataSources/UDPStreamerClient/UDPStreamerClientTest.cpp create mode 100644 Test/Components/DataSources/UDPStreamerClient/UDPStreamerClientTest.h delete mode 100644 Test/GTest/depends.x86-linux delete mode 100644 Test/GTest/dependsRaw.x86-linux diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..6f4d1ca --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,315 @@ +# AGENTS.md + +Guide for agents working in the MARTe2 Integrated Components repository. Read +`ARCHITECTURE.md` and `CLAUDE.md` for deeper detail; this file focuses on +non-obvious knowledge, commands, and conventions that are not self-evident from +a single file read. + +--- + +## Repository at a glance + +MARTe2 component library with two independent real-time data paths: + +1. **Streaming path** — `UDPStreamer` DataSource (serialises signals to UDPS + binary packets on UDP 44500) → `StreamHub` (headless C++ hub: ring buffers, + LTTB decimation, trigger FSM, history writer) → WebSocket 8090 → clients + (browser SPA, native ImGui, native Qt). +2. **Debug path** — `DebugService` Interface patches `ClassRegistryDatabase` at + `Initialise()` so `ConfigureApplication()` wraps all `MemoryMap*Broker` types + with `DebugBrokerWrapper`. Zero application code changes. Exposes TCP 8080 + (text commands), UDP 8081 (trace telemetry), TCP 8082 (`TcpLogger`). + +Key shared artefact: `Common/UDP/UDPSProtocol.h` — the UDPS binary wire format +(17-byte packed header, 136-byte signal descriptors, little-endian). It is +deliberately MARTe2-free and is mirrored across **four** codebases that must stay +in sync: C++ producers (`UDPStreamer`, `DebugService`), C++ consumer +(`Source/Components/Interfaces/UDPStream/UDPSClient`), Go decoder +(`Common/Client/go/udpsprotocol`), and the JS client parsers. Any protocol +change must be mirrored in all of them. + +StreamHub WebSocket protocol: JSON text frames for commands/events, binary +frames for data pushes (spec in `ARCHITECTURE.md` §6). The Go hub +(`Client/udpstreamer`) and the C++ StreamHub implement the identical protocol; +browser JS, ImGui, and Qt clients must stay compatible with both. + +--- + +## Environment setup (do this first, always) + +`source env.sh` is **required** before building *or* running anything. It sets: + +- `MARTe2_DIR` (default `~/workspace/MARTe2`) and `MARTe2_Components_DIR` + (default `~/workspace/MARTe2-components`) — external dependencies, not in + this repo. Edit `env.sh` if your MARTe2 install lives elsewhere. +- `TARGET=x86-linux` +- `LD_LIBRARY_PATH` — prepends MARTe2 Core, MARTe2-components (LinuxTimer, + FileDataSource), and this repo's built `.so`s (UDPStreamer, SineArrayGAM, + TimeArrayGAM, DebugService, TCPLogger). + +Without sourcing `env.sh`, builds fail (can't find `MakeDefaults`) and binaries +fail to load shared libs. The E2E scripts source it themselves, but a bare +`make` or `./MainGTest.ex` from a fresh shell will not. + +--- + +## Build commands + +All C++ builds use the MARTe2 `Makefile.gcc` wrapper system. There is one +top-level `Makefile.gcc` and one per component directory. `TARGET` defaults to +`x86-linux`; pass `TARGET=x86-linux` explicitly when invoking `make -C` from +elsewhere. + +```bash +source env.sh + +make -f Makefile.gcc core # all C++ MARTe2 components (UDPStreamer, GAMs, DebugService, TCPLogger, UDPStream) +make -f Makefile.gcc apps # StreamHub standalone app +make -f Makefile.gcc test # build GTest + Integration test binaries +make -f Makefile.gcc clean +make -f Makefile.gcc # = all: core apps test + +# Build a single component (each component dir has its own Makefile.gcc): +make -C Source/Components/DataSources/UDPStreamer -f Makefile.gcc +make -C Source/Applications/StreamHub -f Makefile.gcc +``` + +Build output goes to `Build/x86-linux/` — shared libs under +`Build/x86-linux/Components/<...>/`, the StreamHub executable at +`Build/x86-linux/StreamHub/StreamHub.ex`, test binaries under +`Build/x86-linux/GTest/` and `Build/x86-linux/Test/Integration/`. + +`compile_commands.json` is generated at the repo root (gitignored) for LSP / +clangd. The CMake-based clients (ImGui, Qt) also export it into their `build/`. + +### Non-MARTe2 clients (separate build systems, no env.sh needed) + +```bash +# Go clients (UDPS web client, debug client, E2E chain-client) +cd Common/Client/go && go build ./... +cd Client/debugger && go build ./... +cd Client/udpstreamer && go build ./... # or: cd Client/webui && go build +cd Test/E2E/chain/client && go build ./... # chain-client (E2E driver) + its tests + +# ImGui desktop client (needs SDL2; fetches Dear ImGui + ImPlot via FetchContent) +cd Client/streamhub && cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build + +# Qt desktop client (Qt5 or Qt6 Widgets + WebSockets; autodetects, prefers Qt6) +cd Client/streamhub-qt && cmake -B build && cmake --build build +``` + +--- + +## Run / test commands + +### Unit & integration tests (C++) + +```bash +./Build/x86-linux/GTest/MainGTest.ex # UDPStreamer unit tests +./Build/x86-linux/GTest/MainGTest.ex --gtest_filter='Name*' # single test +./Build/x86-linux/Test/Integration/Integration/IntegrationTests.ex # DebugService integration tests +``` + +### Go tests + +```bash +cd Test/E2E/chain/client && go test ./... +``` + +### Python framework tests (E2E framework logic, no live stack needed) + +```bash +cd Test/E2E/chain && python3 -m unittest tests_py +``` + +### E2E / demo scripts (build + launch the full stack) + +| Script | What it does | +|---|---| +| `./run_streamhub.sh` | Launch MARTe2 app (UDPStreamer) + StreamHub, optionally web UI (`-w`) and ImGui client (`-g`). Ports documented in its header. | +| `./run_combined_test.sh` | Combined streaming + debug integration test. `-d` auto-starts the debugger web UI. | +| `./run_e2e_test.sh` | Older standalone StreamHub E2E (`-s` skips build). | +| `./Test/E2E/chain/run_chain_e2e.sh` | **Streaming-chain E2E suite**: per-scenario generates data + cfgs, runs MARTe2+StreamHub, drives the Go `chain-client` (live/zoom/window/trigger), validates the recorded waveform against an analytic/fed oracle, runs unit suites + coverage, builds a Typst PDF report. Flags: `--skip-build`, `--only `, `--cpp-coverage`, `--pdf-only`, `--stress`. | +| `./Test/E2E/chain/run_stress.sh` | **Capacity/stress harness**: sweeps one load axis at a time (signal size/count, subscriber fan-out, source count, WS-client count, zoom rate), gates on survival+liveness (hard) and RSS+zoom-p95 latency (soft). Flags: `--skip-build`, `--only `, `--axis `. | + +The E2E suite produces `Build/x86-linux/E2E/chain/` artifacts: `report_data.json`, +`history.jsonl` (per-run headline metrics for trend/regression tracking), +`trend_*.png` plots, and `E2E_Report.pdf` (compiled from `E2E_Report.typ` via +`typst`). `--cpp-coverage` triggers an instrumented `--coverage` rebuild, captures +with `lcov` (restricted to `Source/*` + `Test/*`), then restores a clean build. + +--- + +## Code organization + +``` +Common/ + UDP/UDPSProtocol.h # shared UDPS binary protocol (header-only, MARTe2-free) + Client/go/ # Go packages: udpsprotocol (decoder), wshub (WS hub client) +Source/ + Components/ # MARTe2 components — NO STL allowed here + DataSources/UDPStreamer/ # real-time UDP signal streaming DataSource + DataSources/UDPStreamerClient/ # (MARTe2-side UDPS client DataSource) + GAMs/SineArrayGAM/ # sine-wave array generator GAM + GAMs/TimeArrayGAM/ # time-reference array GAM + Interfaces/DebugService/ # tracing/forcing/breakpoint Interface (registry-patched brokers) + Interfaces/TCPLogger/ # REPORT_ERROR → TCP forwarder (LoggerConsumerI) + Interfaces/UDPStream/ # UDPSClient/UDPSServer (C++ consumer/producer of UDPS) + Applications/StreamHub/ # headless C++ hub app (links MARTe2 core but follows MARTe2 style) +Client/ + debugger/ # Go web client for DebugService (browser UI in static/) + udpstreamer/ # Go web server + static SPA for UDPStreamer (legacy direct-UDP path) + webui/ # Go StreamHub WebSocket web UI (newer, hub-based) + streamhub/ # native ImGui desktop client (SDL2 + OpenGL + ImPlot, C++17, no MARTe2) + streamhub-qt/ # native Qt Widgets desktop client (C++17, Qt5/Qt6, no MARTe2) +Test/ + GTest/ # GTest harness (MainGTest.cpp) for UDPStreamer unit tests + Integration/ # DebugService integration tests (link against DebugService .so) + Components/DataSources/UDPStreamer/ # UDPStreamer unit test sources + Configurations/ # MARTe2 .cfg files for tests and demos + E2E/ + chain/ # streaming-chain E2E + stress suite (Python orchestrator + Go client) + datasources/ recorder/ streamhub/ # older per-component E2E scripts +Docs/ # per-component reference docs (Protocol, UDPStreamer, StreamHub-*, DebugService, ...) +docs/superpowers/{specs,plans}/ # design specs + implementation plans (dated) +ARCHITECTURE.md # full architecture (data flow diagrams, protocol tables, WS protocol) +``` + +### Component layout convention + +Every MARTe2 component directory contains: + +- `Makefile.gcc` — thin wrapper (`TARGET = x86-linux` then `include Makefile.inc`). +- `Makefile.inc` — real build definition: `OBJSX`, `PACKAGE`, `INCLUDES`, + `LIBRARIES`, includes `$(MARTe2_DIR)/MakeDefaults/MakeStdLibDefs.$(TARGET)` + and `MakeStdLibRules.$(TARGET)`, and `depends.$(TARGET)`. +- `depends.x86-linux` / `dependsRaw.x86-linux` — generated header dependency + files (committed; regenerated by the build). Do not hand-edit. +- `.{h,cpp}` — the implementation, with `CLASS_REGISTER(ClassName, + "1.0")` at the bottom of the `.cpp` (MARTe2 class-registration macro). + +To add a new component, copy an existing one and adapt `Makefile.inc`'s +`OBJSX` / `PACKAGE` / `INCLUDES` / `LIBRARIES`. + +--- + +## Conventions and gotchas + +### No STL in MARTe2 components + +`Source/Components/**` must not use the C++ standard library. Use MARTe2 types: +`StreamString` (not `std::string`), `FastPollingMutexSem` (not `std::mutex`), +fixed arrays / `StaticList` (not `std::vector`), MARTe2 error macros +(`REPORT_ERROR`, `REPORT_ERROR_STATIC`) instead of exceptions. Includes come +from `$(MARTe2_DIR)/Source/Core/...` (BareMetal, Scheduler, FileSystem). + +`Source/Applications/StreamHub/` links MARTe2 core and follows the same +no-STL-on-RT-paths style, but is a standalone app (not a loadable component). + +STL / C++17 is **fine** in `Client/streamhub/` and `Client/streamhub-qt/` +(framework-free C++17, no MARTe2 dependency). + +### RT hot-path mutex rule + +Use `FastPollingMutexSem` on real-time hot paths — never OS mutexes +(`pthread_mutex`, `std::mutex`). The RT cycle must not block on the scheduler. + +### Protocol change checklist + +Changing `Common/UDP/UDPSProtocol.h` (or the Go mirror) requires mirroring +across all four consumers listed in §1, plus the JS client parsers in +`Client/udpstreamer/static/`. The Go decoder lives in +`Common/Client/go/udpsprotocol/protocol.go` and re-declares the constants +(`HeaderSize`, `SigDescSize`, packet types, quant types, time modes) — it does +**not** include the C header. + +### Qt client: `QT_NO_KEYWORDS` + +`Client/streamhub-qt/` reuses `../streamhub/Protocol.{h,cpp}` and +`SignalBuffer.h` verbatim. Those structs have members named `signals`, which +collide with Qt's `signals`/`slots`/`emit` macros. The Qt build sets +`QT_NO_KEYWORDS` and all Qt classes use `Q_SIGNALS:`/`Q_SLOTS:`/`Q_EMIT`. Do +not remove that define, and do not use the lowercase Qt keywords in Qt-client +code. Single GUI thread — `QWebSocket` signals arrive on the GUI thread, no +locks; a 60 Hz `QTimer` drives repaint. Run with long options: +`./build/StreamHubQtClient --host HOST --port 8090` (single-dash `-host` is +misparsed as clustered short flags). + +### StreamHub history + +`HistoryWriter` (`Source/Applications/StreamHub/HistoryWriter.{h,cpp}`) does +disk-backed circular storage: per-signal `.shist` files with a 64-byte header +and a pre-allocated circular region of `(float64 time, float64 value)` pairs. +Configured via a `+History` block (`Directory` required; `DurationHours` +default 1, `Decimation` default 1, `FlushIntervalSec` default 5, +`MinDiskFreeMB` default 500). WS commands: `historyInfo`, `historyZoom`. + +### E2E scenario / stress matrix + +`Test/E2E/chain/scenarios.py` is a *curated covering set*: every configurable +UDPStreamer option value appears in at least one scenario, plus high-risk +interactions. `stress.py` is the capacity sibling — it sweeps one load axis at +a time and records survival/liveness (hard gates) and RSS/zoom-p95 latency +(soft gates). Both feed the same `gen_data.py` / `gen_cfg.py` generators. When +adding a new UDPStreamer option, add a scenario that exercises it and update +`validate_scenario` / the stress matrix accordingly. + +`validate_waveform.py` has two gates: **fidelity** (every received value within +`tol` of some ground-truth value; `tol` is 0 for un-quantised ints, a float +epsilon for un-quantised floats, `quant_step/2 + 1e-6·range` for quantised +floats) — this is the **correctness** gate. **Shape** (least-squares sine fit, +correlation ≥ 0.99) is a gross-sanity gate + tracked metric, pending Phase-A +timestamp calibration. Do not tighten the shape gate to a correctness gate. + +### Gitignored build artefacts + +`Build/`, `compile_commands.json`, `*.gcov`/`*.gcda`/`*.gcno` (coverage), Go +binaries (`Client/*/marte2debugger`, `udpstreamer-webui`, `streamhub-e2e`, +`Client/*/bin/`), and the `udp_standalone_webui/` scratch dir are all +gitignored. `vgore.*` core dumps (e.g. `vgcore.26968`) are not — remove them. + +--- + +## Documentation map + +- `ARCHITECTURE.md` — full architecture: data-flow diagrams, UDPS packet/header + tables, CONFIG payload, StreamHub WebSocket protocol (commands, events, + binary frames), threading model. +- `Docs/` — per-component reference docs (`Protocol.md`, `UDPStreamer.md`, + `SineArrayGAM.md`, `DebugService.md`, `StreamHub-{UserGuide,API,Developer}.md`, + `Tutorial.md`, `WebUI.md`). +- `docs/superpowers/specs/` — design specs (dated, e.g. + `2026-06-26-stress-suite-report-integration-design.md`). +- `docs/superpowers/plans/` — implementation plans paired with specs. +- `.superpowers/sdd/` — task briefs, reports, and a `progress.md` ledger for + in-flight feature work (not always present; per-branch). +- `README.md` — high-level overview + quick-start config snippets. +- `CLAUDE.md` — condensed agent guidance (overlaps with this file). + +--- + +## Ports reference (defaults) + +| Port | Protocol | Component | Purpose | +|------|----------|-----------|---------| +| 44500 | UDP | UDPStreamer | scalar signals (unicast control) | +| 44501 | UDP | UDPStreamer | packed arrays (FirstSample/LastSample) | +| 44502 | UDP | UDPStreamer | packed arrays (FullArray) | +| 44503 | UDP | UDPStreamer | multicast data (group 239.0.0.1) | +| 8080 | TCP | DebugService | text command channel | +| 8081 | UDP | DebugService | trace telemetry stream | +| 8082 | TCP | TcpLogger | REPORT_ERROR log forward | +| 8090 | TCP/WS | StreamHub | WebSocket (commands + binary data) | +| 8080 | TCP | udpstreamer-webui | web UI listen (legacy direct-UDP path) | +| 9090 | TCP | debugger | debug web UI listen | + +Note the 8080 collision: DebugService control vs. the legacy web UI listen port. +In combined demos that run both, the scripts adjust one of them — check the +script header before assuming. + +--- + +## License + +EUPL v1.1 — license headers are present on all C++ sources. Preserve them on +new files; do not relicense. diff --git a/BUG_FIX_PLAN.md b/BUG_FIX_PLAN.md new file mode 100644 index 0000000..a583e5a --- /dev/null +++ b/BUG_FIX_PLAN.md @@ -0,0 +1,221 @@ +# Bug Fix Plan — Security & Correctness Remediation + +**Date:** 2026-06-26 +**Based on:** `BUG_REPORT.md` +**Scope:** `Source/` and `Client/` + +This plan organizes the ~60 findings from the audit into prioritized, dependency-ordered phases. Each phase is independently shippable. Phases are ordered by risk reduction: Critical remote-exploitable issues first, then High crash/OOB issues, then Medium robustness/DoS, then Low hardening. + +--- + +## Guiding principles + +1. **Fix root causes, not symptoms.** The integer-overflow-in-bounds-check pattern appears in 6+ places — fix the pattern, not each instance ad hoc. Introduce a shared `boundsCheck(off, count, elemBytes, bufLen)` helper (C++) and a `validateCount(count, elemSize, bufLen)` helper (Go) and use them everywhere. +2. **Defense in depth.** Origin checks + auth + input validation — not just one layer. +3. **No regressions.** After each phase, run the existing test suites (`make -f Makefile.gcc test`, `python3 -m unittest tests_py`, `go test ./...` in each Go module) and the E2E suite (`./Test/E2E/chain/run_chain_e2e.sh --skip-build`). +4. **Minimal blast radius.** Each fix is surgical to the file/function listed in the bug report. No refactors beyond what the fix requires. + +--- + +## Phase 1 — Critical remote-exploitable fixes (ship first) + +**Goal:** Eliminate drive-by takeover and remote heap corruption. All fixes are small and localized. + +| # | Bug | File(s) | Fix | Est. effort | Depends on | +|---|-----|---------|-----|-------------|------------| +| 1.1 | CR-1: 1-byte heap OOB write in WS frame NUL-term | `WSServer.cpp:251` | Change `kRecvBuf = WS_MAX_RECV_PAYLOAD + 14u` → `+ 14u + 1u` | 5 min | — | +| 1.2 | CR-2: XSS via unescaped `src.addr` | `Client/udpstreamer/static/app.js:3503`; `Client/debugger/static/app.js:3549` | Wrap `src.addr` with existing `escHtml()` in `_statsKV` calls (or inside `_statsKV` itself) | 10 min | — | +| 1.3 | CR-3: WebSocket CSRF (Origin check disabled) | `Common/Client/go/wshub/hub.go:128`; `Source/Applications/StreamHub/WSServer.cpp:186-239` | **Go:** Replace `CheckOrigin: func(r *http.Request) bool { return true }` with a same-origin check (compare `Origin` header host to `Host` header). Add a configurable allowlist env var for non-local deployments. **C++:** Parse `Origin` header in `UpgradeHTTP`; reject if present and host doesn't match the listen address. | 30 min | — | +| 1.4 | CR-4: Unauthenticated command injection to MARTe2 | `Client/debugger/martecontrol.go:217-263` | Add an allowlist of permitted MARTe2 commands (`DISCOVER`, `TREE`, `INFO`, `LS`, `VALUE`, `TRACE`, `UNTRACE`); reject `FORCE`, `UNFORCE`, `PAUSE`, `RESUME`, `STEP`, `BREAK`, `MSG` unless an explicit `--enable-dangerous-commands` flag is set. Log all forwarded commands. | 1 h | 1.3 | +| 1.5 | CR-5: No auth on DebugService TCP | `DebugService.cpp:276` | (a) Bind TCP server to localhost by default (add `BindAddress` config key, default `127.0.0.1`). (b) Add an optional `AuthToken` config key; if set, require the first line from a client to be `AUTH ` before accepting commands. | 2 h | — | + +**Validation:** `bash -n` on shell scripts; `go build ./...` in each Go module; `make -f Makefile.gcc core apps`; manual test: open browser console on a cross-origin page and confirm WS to `localhost:8090` is rejected; confirm a crafted 65536-byte WS frame no longer corrupts. + +**Commit:** `fix(security): critical remote-exploitable fixes (CR-1..CR-5)` + +--- + +## Phase 2 — High-severity crash / OOB / UAF fixes + +**Goal:** Eliminate remote crash and memory-corruption vectors. These are the integer-overflow and concurrency bugs. + +### 2A — Integer-overflow bounds checks (uniform pattern) + +| # | Bug | File(s) | Fix | +|---|-----|---------|-----| +| 2A.1 | HI-1: DATA bounds check overflow | `UDPSourceSession.cpp:358`; `UDPStreamerClient.cpp:520` | Replace `off + elemsToRead * wireElemBytes > size` with 64-bit arithmetic. Add a `validateBounds(off, count, elemBytes, size)` static helper in `UDPSProtocol.h` and use it in both files. | +| 2A.2 | HI-2: Go unbounded allocations | `protocol.go:121, 229, 325` | Add `validateCount(count, elemSize, bufLen)` in `protocol.go`; call before every `make([]T, n)` that uses a network-derived count. Cap `NumElements()` at 1M. | +| 2A.3 | HI-3: `accumFill` overflow + size calc | `UDPStreamer.cpp:700, 738, 757, 857-860` | (a) Add `if (accumFill >= maxBatchCount) { flush; }` before the write at line 857. (b) Use `uint64` for `maxBatchCount * totalSrcBytes` size calculations. | +| 2A.4 | MD-4: `numRows * numCols` overflow | `UDPSourceSession.cpp:240, 346`; `protocol.go:121` | Use `static_cast(numRows) * static_cast(numCols)`; cap at 1M. | +| 2A.5 | MD-15: `pairCount * 16u` overflow | `Client/streamhub/Protocol.cpp:77, 117` | Check `pairCount > (len - off) / 16` before multiplication; use `ull` suffix. | +| 2A.6 | HI-6: `FD_SET` overflow | `UDPSServer.cpp:273, 308`; `UDPSClient.cpp:383` | Add `if (fd < FD_SETSIZE)` guard before each `FD_SET`; otherwise skip that client this cycle (or switch to `poll()`, which the codebase already uses elsewhere). | + +**Est. effort:** 3 h (pattern is repetitive once the helper exists) + +### 2B — Use-after-free and concurrency + +| # | Bug | File(s) | Fix | +|---|-----|---------|-----| +| 2B.1 | HI-5: Broadcast vs FreeSlot UAF | `WSServer.cpp:345-366, 432-445` | `FreeSlot` must acquire `clients[idx].writeMutex` before setting `active=false` and deleting `sock`. This ensures `BroadcastText`/`BroadcastBinary` cannot dereference a freed socket. | +| 2B.2 | HI-9: TraceRingBuffer not thread-safe | `DebugCore.h:79-142` | Replace `volatile uint32 readIndex/writeIndex` with `Atomic` (MARTe2 `Atomic::Load`/`Atomic::Store`). Ensure `Push` writes data before storing `writeIndex` (release ordering); `Pop` loads `writeIndex` before reading data (acquire ordering). | +| 2B.3 | HI-4: `ProcessSignal` unclamped memcpy + `forcedMask` OOB | `DebugServiceBase.cpp:310, 313-318` | (a) Clamp `size` to `sizeof(signalInfo->forcedValue)` (1024). (b) Cap the array-forcing loop at `min(nEl, 256)`. (c) Validate `nEl <= 256` in `RegisterSignal`. | +| 2B.4 | HI-7: Weak PRNG for WS handshake | `WSClient.cpp:29-31` | Replace `srand(time(nullptr))` + `rand()` with `std::random_device` or `getrandom()`/`/dev/urandom` read. | +| 2B.5 | HI-8: Global registry patching | `DebugServiceBase.cpp:217-242` | (a) Save original builders before patching (`item->GetObjectBuilder()`); store in a static array for restore on destruction. (b) Add a `PatchRegistry` config flag (default `true` for back-compat; document the implication). (c) Guard against double-patching (skip if already patched). | + +**Est. effort:** 4 h + +**Validation:** `make -f Makefile.gcc test` + `./Build/x86-linux/GTest/MainGTest.ex` + `./Build/x86-linux/Test/Integration/Integration/IntegrationTests.ex` + `python3 -m unittest tests_py` (in `Test/E2E/chain/`) + `go test ./...` (in each Go module). Craft a UDP packet with `numSamples=0x20000001` and confirm no crash. Run the E2E suite: `./Test/E2E/chain/run_chain_e2e.sh --skip-build`. + +**Commit:** `fix(security): high-severity crash/OOB/UAF fixes (HI-1..HI-9)` + +--- + +## Phase 3 — Medium-severity robustness / DoS / parser fixes + +**Goal:** Harden input validation, fix reassembly logic, and improve WS RFC compliance. + +### 3A — UDPS protocol hardening + +| # | Bug | File(s) | Fix | +|---|-----|---------|-----| +| 3A.1 | MD-1: `recvMask` too small | `UDPSClient.cpp:544, 592-594` | Enlarge `recvMask` to 64 bytes (512 bits) to match the `totalFragments <= 512` cap. | +| 3A.2 | MD-2: No type matching in reassembly | `UDPSClient.cpp:548-555` | Add `type` field to `ReassemblySlot`; key on `counter && type`. | +| 3A.3 | MD-3: Signal name not null-terminated | `UDPSourceSession.cpp:219-223` | After `memcpy`, force `name[63]='\0'` and `unit[31]='\0'`. | +| 3A.4 | MD-6: No auth on UDP CONNECT | `UDPSServer.cpp:655-723` | Document trust boundary in `Docs/Protocol.md`. Optional: add a `ConnectToken` config key. | +| 3A.5 | MD-13: Reassembler unbounded map growth (Go) | `reassembler.go:41-89` | Add `maxSets = 1024` cap; reject new sets when full. | +| 3A.6 | LO-1: `totalFrags` overflow | `UDPSServer.cpp:541-542` | Validate `payloadSize <= maxPayloadSize * 65535` before the calculation. | +| 3A.7 | LO-17: `bufMutex.Create` unchecked | `UDPStreamer.cpp:119`; `UDPStreamerClient.cpp:149` | Check return value; `REPORT_ERROR` on failure. | +| 3A.8 | LO-19: Reassembler ticker panic | `reassembler.go:93` | Guard `if r.expiry <= 0 { r.expiry = 2 * time.Second }`. | + +**Est. effort:** 2 h + +### 3B — WebSocket and JSON robustness (C++ clients) + +| # | Bug | File(s) | Fix | +|---|-----|---------|-----| +| 3B.1 | MD-16: `readU16`/`readU32` silent failure | `Client/streamhub/Protocol.cpp:21-38` | Change `readU16`/`readU32`/`readF64` to return `bool` (or set an `ok` flag); `ParseBinaryFrame` fails fast on any truncated read. | +| 3B.2 | MD-17: JSON injection in command builders | `Client/streamhub/Protocol.cpp:183-213` | Add a `jsonEscape(str)` helper; use it for all `%s` string interpolations. Switch to `std::string` to avoid truncation. | +| 3B.3 | MD-18: `strstr`-based JSON parsing | `Client/streamhub/Protocol.cpp:296-310, 495, 510` | Migrate `ParseSources`, `ParseZoom`, `ParseStats` to a real JSON parser. **ImGui:** add a minimal JSON parser or vendor a single-header library (e.g. nlohmann/json). **Qt:** use `QJsonDocument`. | +| 3B.4 | MD-19: WS RFC 6455 violations | `WSClient.cpp:204-223` | (a) Reject control frames with `payloadLen > 125`. (b) Implement `CONTINUATION` opcode reassembly (or at least log and drop with a clear message). (c) Echo `CLOSE` frame. | +| 3B.5 | MD-20: Handshake no timeout | `WSClient.cpp:290-301` | Set `SO_RCVTIMEO` to 5s on the socket before the handshake loop. | +| 3B.6 | MD-5: SHA1 latent overflow | `SHA1.h:50`; `WSFrame_client.h:113` | Add `if (len > 119u) return;` guard; use `uint64_t bitLen`; use `std::vector` instead of `new[]`/`delete[]`. | +| 3B.7 | MD-24: `parseCapture` panic | `Test/E2E/chain/client/main.go:140-171` | Add bounds checks before each read, mirroring `parsePush`. | + +**Est. effort:** 4 h (3B.3 is the largest item — JSON parser migration) + +### 3C — Go hub and debugger hardening + +| # | Bug | File(s) | Fix | +|---|-----|---------|-----| +| 3C.1 | MD-10: No WS client cap | `hub.go:367-377` | Track `len(h.clients)`; reject above configurable max (default 32). | +| 3C.2 | MD-11: Silent data loss | `hub.go:346-358` | Add a `droppedCount` atomic counter per channel; expose via `Snapshot()`. | +| 3C.3 | MD-12: SSRF via `addSource` | `hub.go:83-96`; `sources.go:62-67` | Validate `addr` against a configurable allowlist (default: localhost + private RFC1918 ranges; reject link-local/metadata endpoints like `169.254.169.254`). | +| 3C.4 | MD-14: Index panic | `martecontrol.go:543` | Use `strings.TrimPrefix(line, "OK SERVICE_INFO ")` with a length check. | +| 3C.5 | LO-14: `stopCh` double-close | `martecontrol.go:182-189` | Use `sync.Once` for closing `stopCh`. | +| 3C.6 | LO-10: `unsafe.Pointer` aliasing | `hub.go:588-594` | Replace `float64ToBytes` with `binary.LittleEndian` put operations. | +| 3C.7 | LO-11: `+Inf` in JSON | `stats.go:115-116` | Guard `if avg > 0 { si.RateHz = 1.0 / avg } else { si.RateHz = 0 }`. | + +**Est. effort:** 2 h + +### 3D — TcpLogger and DebugService fixes + +| # | Bug | File(s) | Fix | +|---|-----|---------|-----| +| 3D.1 | MD-7: `StringHelper::Copy` overflow | `TcpLogger.cpp:87` | Replace with `strncpy(entry.description, description, MAX_ERROR_MESSAGE_SIZE-1); entry.description[MAX_ERROR_MESSAGE_SIZE-1]='\0';` | +| 3D.2 | MD-8: `volatile` indices + lost wakeup | `TcpLogger.cpp:83-153, 157-158` | Use `Atomic::Load`/`Store` for `writeIdx`/`readIdx`; use `eventSem.ResetWait()` instead of `Wait`+`Reset`. | +| 3D.3 | MD-9: `printf` on RT thread | `TcpLogger.cpp:75-76` | Add a `MirrorToStdout` config key (default `false`); guard the `printf`/`fflush` behind it. | +| 3D.4 | MD-21: Stack buffer + shadowed member | `DebugService.cpp:438, 489` | Remove the local `udpsSampleBuf` (use the member); heap-allocate `cfgBuf`. | +| 3D.5 | MD-23: `configValidated` read without lock | `UDPStreamerClient.cpp:463` | Mark `volatile` or acquire `bufMutex` before reading. | +| 3D.6 | MD-22: Spinlock on RT path | `UDPStreamer.cpp:856, 947-976` | Minimize the RT-side critical section: swap a pointer instead of `memcpy` under the lock. Move the `memcpy` outside the lock (double-buffer pattern). | +| 3D.7 | LO-7: JSON escaping in DISCOVER | `DebugServiceBase.cpp:900-906` | Use the existing `EscapeJson` helper for signal names. | +| 3D.8 | LO-8: `EvaluateBreak` only element 0 | `DebugBrokerWrapper.h:61-86` | Document the limitation in the function comment. | +| 3D.9 | LO-9: `fprintf(stderr)` on init | `DebugBrokerWrapper.h:195-197` | Replace with `REPORT_ERROR`. | + +**Est. effort:** 3 h + +**Validation:** Full test suites + E2E. For 3B.3 (JSON parser migration), add unit tests for crafted JSON inputs (nested quotes, escaped chars, truncated payloads). For 3A.1/3A.2, add a unit test that sends duplicate high-index fragments and mixed-type same-counter fragments. + +**Commit:** `fix(robustness): medium-severity input validation, parser, and DoS fixes (MD-1..MD-24)` + +--- + +## Phase 4 — Low-severity hardening and documentation + +**Goal:** Clean up latent bugs, fix doc mismatches, add missing hardening. These are non-urgent but improve code health. + +| # | Bug | File(s) | Fix | +|---|-----|---------|-----| +| 4.1 | LO-2: `Stop()` TOCTOU | `WSServer.cpp:104-134` | Replace `Sleep(200ms)` with thread join. | +| 4.2 | LO-3: Spinlock priority inversion | `UDPSourceSession.h`; `WSServer.h` | Document that `FastPollingMutexSem` is only for very short critical sections on same-core RT configs. Consider `MutexSem` for non-RT-contended paths. | +| 4.3 | LO-4: `SignalBuffer` mod-0 | `SignalBuffer.h:36-41` | Guard `push`/`readLast`/`readRange` against `capacity == 0`. | +| 4.4 | LO-5: Misleading "Thread-safe" comment | `SignalBuffer.h:18` | Remove the claim or add internal locking. | +| 4.5 | LO-6: GAM type validation + doc | `SineArrayGAM.cpp:81`; `TimeArrayGAM.cpp:54`; `TimeArrayGAM.h:8,27` | Add `GetSignalType` checks; update `TimeArrayGAM.h` doc from `uint32` to `uint64`. | +| 4.6 | LO-12: Directory listing | `Client/webui/main.go:26` | Disable directory listings (return 404 for directories). | +| 4.7 | LO-13: No security headers | `Client/debugger/main.go:55`; `Client/udpstreamer/main.go`; `Client/webui/main.go` | Add a middleware that sets `X-Content-Type-Options: nosniff`, `X-Frame-Options: DENY`, `Content-Security-Policy: default-src 'self'`. | +| 4.8 | LO-15: `host_`/`port_` race | `WSClient.cpp:48-58` | Protect with `sendMutex_` or make `atomic` + `std::string` guarded by a small mutex. | +| 4.9 | LO-16: `ReadExactTCP` edge case | `UDPSClient.cpp:474-487` | Add a max-iterations guard. | +| 4.10 | LO-18: `RangeMin < RangeMax` validation | `UDPStreamer.cpp:403-404` | Validate when `quantType != None`; `REPORT_ERROR` if `rangeMax <= rangeMin`. | + +**Est. effort:** 2 h + +**Commit:** `fix(hardening): low-severity fixes, doc corrections, security headers (LO-1..LO-19)` + +--- + +## Phase 5 — Cross-cutting refactors (optional, post-hardening) + +These are not bug fixes but structural improvements that prevent the recurrence of the bug classes found in this audit. + +| # | Refactor | Rationale | Est. effort | +|---|----------|-----------|-------------| +| 5.1 | Shared `validateBounds` / `validateCount` helpers | Centralizes the integer-overflow-prevention pattern; prevents future copy-paste bugs | 1 h | +| 5.2 | Real JSON parser in C++ clients (nlohmann/json or Qt's QJsonDocument) | Eliminates the entire class of `strstr`/`snprintf` JSON bugs (MD-16, MD-17, MD-18) | 4 h | +| 5.3 | `poll()`/`epoll` everywhere (replace all `select`+`FD_SET`) | Eliminates the `FD_SETSIZE` limitation entirely (HI-6) | 2 h | +| 5.4 | Auth framework for DebugService + web UIs | Token-based auth shared between the Go web UIs and the C++ DebugService; eliminates the "no auth anywhere" theme | 1 d | +| 5.5 | Fuzzing harness for UDPS protocol parsers | `libFuzzer` or `go-fuzz` harnesses that feed random bytes to `ParseConfig`/`ParseData`/`DecodeElems`/`ParseBinaryFrame`; catches future overflow variants | 1 d | +| 5.6 | Thread-sanitizer and address-sanitizer CI runs | `make CXXFLAGS="-fsanitize=address,undefined"`; `go test -race`; catches UAF and races automatically | 4 h | + +--- + +## Verification checklist (run after each phase) + +```bash +source env.sh + +# C++ build + tests +make -f Makefile.gcc clean +make -f Makefile.gcc core apps test +./Build/x86-linux/GTest/MainGTest.ex +./Build/x86-linux/Test/Integration/Integration/IntegrationTests.ex + +# Go tests (each module) +cd Common/Client/go && go vet ./... && go test ./... && cd - +cd Client/debugger && go vet ./... && go build ./... && cd - +cd Client/udpstreamer && go vet ./... && go build ./... && cd - +cd Test/E2E/chain/client && go vet ./... && go test ./... && cd - + +# Python framework tests +cd Test/E2E/chain && python3 -m unittest tests_py && cd - + +# Full E2E suite +./Test/E2E/chain/run_chain_e2e.sh --skip-build + +# ASan/UBSan smoke test (after Phase 2+) +make -f Makefile.gcc clean +make -f Makefile.gcc CXXFLAGS="-fsanitize=address,undefined -g" core apps +./Build/x86-linux/GTest/MainGTest.ex +``` + +--- + +## Timeline summary + +| Phase | Scope | Est. effort | Risk reduction | +|-------|-------|-------------|----------------| +| 1 | Critical remote-exploitable (CR-1..CR-5) | ~4 h | Eliminates drive-by takeover + heap corruption | +| 2 | High crash/OOB/UAF (HI-1..HI-9) | ~7 h | Eliminates remote crash + memory corruption | +| 3 | Medium robustness/DoS/parser (MD-1..MD-24) | ~11 h | Hardens input validation + RFC compliance | +| 4 | Low hardening/doc (LO-1..LO-19) | ~2 h | Code health + defense in depth | +| 5 | Cross-cutting refactors (optional) | ~3 d | Prevents recurrence of bug classes | + +**Total (Phases 1-4):** ~24 h of focused work. Phase 5 is optional and can be scheduled separately. diff --git a/BUG_REPORT.md b/BUG_REPORT.md new file mode 100644 index 0000000..79682c6 --- /dev/null +++ b/BUG_REPORT.md @@ -0,0 +1,1011 @@ +# Bug Report — Security & Correctness Audit + +**Date:** 2026-06-26 +**Scope:** `Source/` (C++ MARTe2 components + StreamHub app) and `Client/` (Go web clients, C++ ImGui/Qt desktop clients, JS web SPAs) +**Method:** Static source review of all network-facing, binary-parsing, concurrency, and web-serving code. + +--- + +## Severity scale + +| Level | Meaning | +|-------|---------| +| **Critical** | Remote code execution, drive-by takeover, or heap corruption reachable from the network. | +| **High** | Remote crash (OOM/panic/abort), out-of-bounds read/write, use-after-free, unauthenticated control of the real-time plant. | +| **Medium** | Data corruption, denial-of-service, parser confusion, RFC violations, races with bounded impact. | +| **Low** | Latent/fragile code, documentation mismatches, non-exploitable UB, missing hardening. | + +--- + +## CRITICAL + +### CR-1 — 1-byte heap OOB write in WebSocket frame NUL-termination + +| Field | Value | +|-------|-------| +| File | `Source/Applications/StreamHub/WSServer.cpp:251, 315-316` | +| Severity | Critical | +| Type | Heap buffer overflow | +| Attack vector | Remote TCP (any client that completes the WS handshake) | + +**Vulnerable code:** +```cpp +static const uint32 kRecvBuf = WS_MAX_RECV_PAYLOAD + 14u; // 65536 + 14 = 65550 +uint8 *buf = new uint8[kRecvBuf]; // valid indices 0..65549 +... +// payload = frameStart + hdr.headerSize (headerSize can be 14) +// plen = up to WS_MAX_RECV_PAYLOAD (65536) +uint8 savedByte = payload[plen]; // payload[65536] == buf[65550] — OOB read +payload[plen] = '\0'; // OOB write one byte past the heap allocation +``` + +**Root cause:** The comment `/* safe: buf has extra byte */` is incorrect. The buffer is exactly `65536 + 14 = 65550` bytes. A masked WebSocket frame with 64-bit extended length (`headerSize = 14`) and `payloadLen = 65536` fills the entire buffer; `payload[plen]` then writes one byte past the end. + +**Impact:** Heap corruption — potential code execution depending on allocator/heap layout. + +**Fix:** Allocate one extra byte: +```cpp +static const uint32 kRecvBuf = WS_MAX_RECV_PAYLOAD + 14u + 1u; +``` + +--- + +### CR-2 — XSS via unescaped `src.addr` in stats panel + +| Field | Value | +|-------|-------| +| Files | `Client/udpstreamer/static/app.js:3503`; `Client/debugger/static/app.js:3549` | +| Severity | Critical | +| Type | Cross-site scripting (stored/reflected via server data) | +| Attack vector | Malicious or compromised StreamHub/DebugService feeding crafted source address | + +**Vulnerable code:** +```js +body.innerHTML = `... ${_statsKV('Address', src.addr)} ...`; + +function _statsKV(label, value, cls) { + return `
${label}` + + `${value}
`; +} +``` + +`_statsKV` interpolates `value` raw into HTML. `src.addr` originates from the WebSocket server's `sources`/`addSource` JSON. A crafted address such as `` achieves arbitrary JavaScript execution in the browser, which can then drive the oscilloscope and trigger over the same WS connection. + +**Impact:** Browser-side RCE → full control of the oscilloscope/trigger/MARTe2 debug interface via the compromised WS session. + +**Fix:** Escape `src.addr` with the existing `escHtml()` helper before interpolation, or use `textContent`/`createElement`. + +--- + +### CR-3 — WebSocket CSRF: `CheckOrigin` always returns `true` (Go) / no Origin check (C++) + +| Field | Value | +|-------|-------| +| Files | `Common/Client/go/wshub/hub.go:128` (shared by `Client/udpstreamer` + `Client/debugger`); `Source/Applications/StreamHub/WSServer.cpp:186-239` | +| Severity | Critical | +| Type | Cross-Site WebSocket Hijacking (CSWSH / CSRF) | +| Attack vector | Drive-by web page | + +**Vulnerable code (Go):** +```go +var upgrader = websocket.Upgrader{ + ReadBufferSize: 4096, + WriteBufferSize: 64 * 1024, + CheckOrigin: func(r *http.Request) bool { return true }, +} +``` + +**Vulnerable code (C++):** `UpgradeHTTP` parses `Sec-WebSocket-Key` and computes the accept hash but never reads or validates the `Origin` header. + +**Impact:** Any malicious web page visited by the user can open a WebSocket to `ws://localhost:8080/ws` (or `:9090`, or the C++ hub's `:8090`) and send JSON commands — `addSource`, `arm`, `setTrigger`, `removeSource`, and in the debugger `PAUSE`/`RESUME`/`MSG`/`TRACE`/`FORCE`/`BREAK` against the live MARTe2 instance. Combined with CR-4 this is a full drive-by takeover of the plant controller. + +**Fix:** Validate `Origin` against a configurable allowlist (same-host at minimum); reject cross-origin upgrade requests. + +--- + +### CR-4 — Unauthenticated arbitrary command injection to MARTe2 + +| Field | Value | +|-------|-------| +| File | `Client/debugger/martecontrol.go:217-263` | +| Severity | Critical | +| Type | Command injection / unauthorized control | +| Attack vector | Drive-by web page (via CR-3) or direct TCP | + +**Vulnerable code:** +```go +case "cmd": + data, _ := env["data"].(map[string]interface{}) + if data == nil { return } + cmd, _ := data["cmd"].(string) + if cmd != "" { + m.trackForcedCmd(cmd) + m.SendCommand(cmd) // raw string sent to MARTe2 TCP control + } +``` + +**Impact:** Any web page (via CR-3) or any TCP client can send `FORCE`, `TRACE`, `PAUSE`, `RESUME`, `STEP`, `MSG`, `BREAK` to the real-time control system. + +**Fix:** Require authentication (token-based) for command-sending WS messages; validate `cmd` against an allowlist of known MARTe2 commands; fix the Origin check (CR-3). + +--- + +### CR-5 — No authentication on DebugService TCP command interface + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/DebugService/DebugService.cpp:276` | +| Severity | Critical | +| Type | Missing authentication / unauthorized control | +| Attack vector | Direct TCP to port 8080 | + +**Vulnerable code:** +```cpp +BasicTCPSocket *newClient = tcpServer.WaitConnection(TimeoutType(100)); +``` + +Any TCP client that connects can send `FORCE` (overwrite signal memory in the RT app), `PAUSE` (halt the RT loop), `STEP`, `TRACE`, and `MSG` (invoke any message handler on any ORD object — see HI-9). There is no authentication, TLS, or access control. + +**Impact:** Remote control of the real-time plant: forced signal values, paused execution, arbitrary message dispatch. + +**Fix:** Bind to localhost by default; add a shared-secret token or TLS gate; restrict `MSG` to whitelisted destinations. + +--- + +## HIGH + +### HI-1 — Integer overflow in DATA bounds check → heap OOB read + +| Field | Value | +|-------|-------| +| Files | `Source/Applications/StreamHub/UDPSourceSession.cpp:358`; `Source/Components/DataSources/UDPStreamerClient/UDPStreamerClient.cpp:520` (same bug mirrored) | +| Severity | High | +| Type | Integer overflow → out-of-bounds read | +| Attack vector | Single crafted UDP DATA packet | + +**Vulnerable code (StreamHub):** +```cpp +// numSamples read directly from attacker-controlled UDP payload (line 333-338) +if (pm == UDPS_PUBLISH_ACCUMULATE) { + memcpy(&numSamples, payload + offset, 4u); + if (numSamples == 0u) { numSamples = 1u; } +} +uint32 elemsToRead = (pm==ACCUMULATE && numElements==1) ? numSamples : numElements; +if (off + elemsToRead * wireElemBytes > size) { return; } // 32-bit multiply wraps +``` + +`elemsToRead` is fully attacker-controlled via `numSamples`. `elemsToRead * wireElemBytes` is a `uint32` multiplication that can wrap to a small value (e.g. `0x20000001 * 8 = 0x8`), causing the bounds check to pass. The subsequent `DecodeElems` loop then reads far past the payload buffer. + +**Impact:** Heap OOB read → crash or information leak. + +**Fix:** Use 64-bit arithmetic for the bounds check: +```cpp +uint64 bytesNeeded = static_cast(off) + + static_cast(elemsToRead) * static_cast(wireElemBytes); +if (bytesNeeded > static_cast(size)) { return; } +``` + +--- + +### HI-2 — Unbounded allocations from a single crafted UDP datagram (Go decoder) + +| Field | Value | +|-------|-------| +| File | `Common/Client/go/udpsprotocol/protocol.go:121, 229, 325` | +| Severity | High | +| Type | Denial of service (OOM/panic) | +| Attack vector | Single crafted UDP CONFIG or DATA packet | + +**Vulnerable code:** +```go +// protocol.go:121 — NumElements() +func (s SignalInfo) NumElements() int { + r := int(s.NumRows); c := int(s.NumCols) + if r == 0 { r = 1 }; if c == 0 { c = 1 } + return r * c // no overflow check; (2^32-1)^2 overflows int64 → negative → panic +} + +// protocol.go:229 — ParseConfig() +numSigs := binary.LittleEndian.Uint32(payload[0:4]) +sigs := make([]SignalInfo, 0, numSigs) // numSigs=0xFFFFFFFF → ~480 GB alloc → OOM + +// protocol.go:325 — ParseData() +numSamples := int(binary.LittleEndian.Uint32(payload[8:12])) +samples := make([]DataSample, numSamples) // numSamples=0xFFFFFFFF → OOM +``` + +**Impact:** A single 17-byte UDP datagram crashes the Go web UI / chain client (panic or OOM kill). + +**Fix:** Validate `numSigs`/`numSamples`/`NumRows*NumCols` against `len(payload)/elementSize` before allocating. Cap `NumElements()` at a sane maximum (e.g. 1M). + +--- + +### HI-3 — `accumFill` increment before bounds check → buffer overflow + +| Field | Value | +|-------|-------| +| File | `Source/Components/DataSources/UDPStreamer/UDPStreamer.cpp:857-860` | +| Severity | High | +| Type | Buffer overflow | +| Attack vector | Configuration-driven (signal/payload size mismatch) | + +**Vulnerable code:** +```cpp +uint8 *slot = accumBuffer + (accumFill * totalSrcBytes); +(void) MemoryOperationsHelper::Copy(slot, memory, totalSrcBytes); +accumTimestamps[accumFill] = ts; +accumFill++; // incremented unconditionally +// flush check at 866-871 only fires if payload-size/time conditions hit; +// if they don't and accumFill == maxBatchCount, the next call writes past the buffer +``` + +Related: the `maxBatchCount * totalSrcBytes` buffer-size calculation at line 700 (and 738, 757) also overflows `uint32`, allocating a too-small buffer. + +**Impact:** Heap buffer overflow in the Accumulate publishing path. + +**Fix:** Check `accumFill >= maxBatchCount` before writing; force-flush if so. Use `uint64` for the size calculation. + +--- + +### HI-4 — `ProcessSignal` memcpy uses unclamped broker `size` → OOB read from `forcedValue[1024]` + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/DebugService/DebugServiceBase.cpp:310, 313-318` | +| Severity | High | +| Type | Out-of-bounds read | +| Attack vector | Forcing a signal whose runtime byte size exceeds the `ForceSignal`-validated size | + +**Vulnerable code:** +```cpp +if (nEl <= 1u) { + memcpy(signalInfo->memoryAddress, signalInfo->forcedValue, size); + // size comes from broker GetCopyByteSize, not from ForceSignal validation (line 420) +``` + +`ForceSignal` rejects signals > 1024 bytes (line 420), but the runtime `size` comes from `GetCopyByteSize(j)` and can exceed 1024, reading past `forcedValue[1024]`. Additionally, the array-forcing loop at line 313-318 reads `forcedMask[e >> 3]` for `e` up to `nEl`; `forcedMask` is only 32 bytes (256 bits), so `nEl > 256` causes an OOB read of `forcedMask`. `ForceSignal` at line 445-448 sets bits up to `numberOfElements`, which can exceed 256, also writing past `forcedMask`. + +**Impact:** OOB heap read; potential OOB write to `forcedMask`. + +**Fix:** Clamp `size` to `sizeof(signalInfo->forcedValue)` in `ProcessSignal`; validate `nEl <= 256` in `RegisterSignal`/`ForceSignal`; cap the array-forcing loop at `min(nEl, 256)`. + +--- + +### HI-5 — Race / use-after-free: BroadcastText vs FreeSlot + +| Field | Value | +|-------|-------| +| File | `Source/Applications/StreamHub/WSServer.cpp:345-366` (Broadcast) vs `432-445` (FreeSlot) | +| Severity | High | +| Type | Use-after-free / data race | +| Attack vector | Triggered by client disconnect during broadcast | + +**Vulnerable code (BroadcastText):** +```cpp +void WSServer::BroadcastText(const char *json, uint32 len) { + for (uint32 i = 0u; i < WS_MAX_CLIENTS; i++) { + if (!clients[i].active) { continue; } // no lock held + (void) clients[i].writeMutex.FastLock(); + if (clients[i].active) { // re-check under writeMutex + (void) SendFrame(clients[i], ...); // uses clients[i].sock + } + clients[i].writeMutex.FastUnLock(); + } +} +``` + +**Vulnerable code (FreeSlot):** +```cpp +void WSServer::FreeSlot(uint32 idx) { + (void) clientsMutex.FastLock(); // holds clientsMutex, NOT writeMutex + if (clients[idx].active) { + clients[idx].active = false; + if (clients[idx].sock) { + clients[idx].sock->Close(); + delete clients[idx].sock; // frees the socket + clients[idx].sock = NULL; + } + } + clientsMutex.FastUnLock(); +} +``` + +`FreeSlot` (read loop, on disconnect) holds `clientsMutex` and `delete`s `sock`. `BroadcastText`/`BroadcastBinary` (push thread) holds only `writeMutex` and dereferences `sock`. There is no mutual exclusion on `active`/`sock` between these two code paths. + +**Impact:** Use-after-free → crash or potential code execution. + +**Fix:** `FreeSlot` must acquire `writeMutex` before modifying `active`/`sock`, or `BroadcastText`/`BroadcastBinary` must hold `clientsMutex` during the iteration. + +--- + +### HI-6 — `FD_SET` with `fd >= FD_SETSIZE` → stack buffer overflow + +| Field | Value | +|-------|-------| +| Files | `Source/Components/Interfaces/UDPStream/UDPSServer.cpp:273, 308`; `Source/Components/Interfaces/UDPStream/UDPSClient.cpp:383` | +| Severity | High | +| Type | Stack buffer overflow | +| Attack vector | Many open file descriptors (many TCP clients, high ulimit) | + +**Vulnerable code:** +```cpp +int fd = tcpClients[i]->GetReadHandle(); +fd_set rset; +FD_ZERO(&rset); +FD_SET(fd, &rset); // if fd >= FD_SETSIZE (typically 1024), stack buffer overflow +``` + +`FD_SET` writes to a fixed-size stack bitmap (`fd_set` is typically 1024 bits / 128 bytes). If `fd >= FD_SETSIZE`, it writes past the bitmap. The multicast listener path already uses `poll()` but existing-client polling reverts to `select()`. + +**Impact:** Stack buffer overflow when the process has many open FDs. + +**Fix:** Check `fd < FD_SETSIZE` before calling `FD_SET`, or switch to `poll()`/`epoll` (which the codebase already uses elsewhere). + +--- + +### HI-7 — Weak PRNG for WebSocket handshake key + +| Field | Value | +|-------|-------| +| File | `Client/streamhub/WSClient.cpp:29-31` | +| Severity | High | +| Type | Weak randomness | +| Attack vector | Predict key → MITM handshake | + +**Vulnerable code:** +```cpp +static std::string base64Key() { + uint8_t raw[16]; + srand(static_cast(time(nullptr))); // second-granularity, global RNG reseed + for (int i = 0; i < 16; i++) { + raw[i] = static_cast(rand() & 0xFF); // rand() often only 15-32 bits entropy + } + ... +} +``` + +`srand(time(nullptr))` is predictable to second granularity. `rand()` is not cryptographically secure. An attacker who knows the approximate connection time can predict the `Sec-WebSocket-Key`. Calling `srand` on every `base64Key()` invocation also reseeds the global C RNG, affecting any other `rand()` consumer. + +**Impact:** Predictable WS handshake key; potential MITM. Global RNG pollution. + +**Fix:** Use a CSPRNG (`getrandom()`, `/dev/urandom`, or `std::random_device`). + +--- + +### HI-8 — Global registry patching of all brokers + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/DebugService/DebugServiceBase.cpp:217-242` | +| Severity | High | +| Type | Design-level global state mutation | +| Attack vector | N/A (correctness/design) | + +**Vulnerable code:** +```cpp +void DebugServiceBase::PatchRegistry() { + PatchItemInternal("MemoryMapInputBroker", new DebugMemoryMapInputBrokerBuilder()); + PatchItemInternal("MemoryMapInputOutputBroker", new DebugMemoryMapInputOutputBrokerBuilder()); + // ... 10 more broker types +} + +static void PatchItemInternal(const char8 *originalName, ObjectBuilder *debugBuilder) { + ClassRegistryItem *item = ClassRegistryDatabase::Instance()->Find(originalName); + if (item != NULL_PTR(ClassRegistryItem *)) { + item->SetObjectBuilder(debugBuilder); // globally replaces the builder + } +} +``` + +This globally replaces the `ObjectBuilder` for all standard broker classes process-wide, silently, on `Initialise()`. Implications: +- The `new Debug*BrokerBuilder()` allocations are never freed (memory leak, intentional for process lifetime). +- Original builders are not saved/restored — if `DebugService` is destroyed, patched builders remain. +- A second `DebugService` instance double-patches; the first's builders are leaked. +- Any `dynamic_cast` to the original broker type breaks (gets a debug wrapper instead). + +**Fix:** Document prominently; make patching opt-in rather than automatic on `Initialise()`; save/restore original builders. + +--- + +### HI-9 — `TraceRingBuffer` not thread-safe + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/DebugService/DebugCore.h:79-142` | +| Severity | High | +| Type | Data race | +| Attack vector | N/A (correctness) | + +**Vulnerable code:** +```cpp +uint32 Push(const uint8 *data, uint32 size) { // called from RT broker thread under tracePushMutex + ... + uint32 w = writeIndex; // volatile uint32 — no memory barrier + ... + writeIndex = next; // volatile write +} + +uint32 Pop(uint8 *dst, uint32 maxBytes) { // called from Streamer thread, NO LOCK + uint32 r = readIndex; // volatile read + uint32 w = writeIndex; // volatile read — can be torn/stale + ... +} +``` + +`Push` (RT broker thread, under `tracePushMutex`) and `Pop` (streamer thread, **no lock**) communicate via `volatile uint32` indices. `volatile` does not provide atomicity or memory ordering on most architectures (it only prevents compiler reordering, not CPU reordering). A torn/stale read of `writeIndex` can cause `Pop` to read partially-written data or miss entries. + +**Impact:** Trace data corruption / lost trace samples / potential torn reads. + +**Fix:** Use `Atomic::Load`/`Atomic::Store` for `readIndex`/`writeIndex`, or acquire `tracePushMutex` in `Pop` as well (adds RT path latency — prefer a proper lock-free SPSC ring). + +--- + +## MEDIUM + +### MD-1 — Fragment reassembly `recvMask` too small for `totalFragments` up to 512 + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/UDPStream/UDPSClient.cpp:544, 592-594, 630-636` | +| Severity | Medium | +| Type | Logic bug / data corruption | + +`totalFragments` is capped at 512 (line 544), but `recvMask` is only 32 bytes (256 bits). For `fragIdx >= 256`, the duplicate check at line 594 is skipped (`byteIdx >= 32`). An attacker can send the same high-index fragment repeatedly; each is accepted (overwriting the same data), `receivedFragments` is incremented each time, and `DeliverAssembled` is triggered prematurely with an incomplete reassembly — delivering partially-filled payload data to the application. + +**Fix:** Cap `totalFragments` at 256, or enlarge `recvMask` to 64 bytes (512 bits). + +--- + +### MD-2 — Fragment reassembly: no type matching → CONFIG/DATA type confusion + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/UDPStream/UDPSClient.cpp:548-555` | +| Severity | Medium | +| Type | Logic bug / data corruption | + +Reassembly slots are keyed only on `counter`, not `type`. The protocol does not guarantee disjoint counter spaces for DATA and CONFIG. An attacker (or buggy server) can send DATA and CONFIG fragments with the same counter; they mix into the same reassembly buffer. The `type` field from the first-arriving fragment determines delivery destination, but the payload is a mixture. + +**Fix:** Include `type` in the slot lookup: `reassemblySlots[i].counter == counter && reassemblySlots[i].type == hdr->type`. + +--- + +### MD-3 — Signal name/unit not null-terminated after `memcpy` → intra-struct OOB read + +| Field | Value | +|-------|-------| +| File | `Source/Applications/StreamHub/UDPSourceSession.cpp:219-223` | +| Severity | Medium | +| Type | Out-of-bounds read (intra-struct) | + +After `memcpy(&sigDescs_[i], payload + ..., UDPS_SIGNAL_DESC_SIZE)`, `name[64]` and `unit[32]` are not force-null-terminated. If the CONFIG payload fills all 64 name bytes without `\0`, subsequent `strcmp(descs[s].name, ...)` (line 968) and `snprintf(key, ..., descs[i].name)` (line 916) read past `name` into `typeCode`, `quantType`, etc. until a zero byte is found. + +**Fix:** After the memcpy: +```cpp +sigDescs_[i].name[UDPS_MAX_SIGNAL_NAME - 1u] = '\0'; +sigDescs_[i].unit[UDPS_MAX_UNIT_LEN - 1u] = '\0'; +``` + +--- + +### MD-4 — `numRows * numCols` integer overflow in CONFIG/DATA parsing + +| Field | Value | +|-------|-------| +| Files | `Source/Applications/StreamHub/UDPSourceSession.cpp:240, 346`; `Common/Client/go/udpsprotocol/protocol.go:121` | +| Severity | Medium | +| Type | Integer overflow → data corruption | + +`numRows` and `numCols` are `uint32` from the CONFIG payload. Their product can overflow `uint32` (e.g. `0x10000 * 0x10000 = 0`), producing a too-small scratch buffer and wrong `numElements` for DATA decoding. + +**Fix:** Use 64-bit multiplication and cap against a sane maximum. + +--- + +### MD-5 — SHA1 stack buffer overflow for inputs > 119 bytes (latent) + +| Field | Value | +|-------|-------| +| Files | `Source/Applications/StreamHub/SHA1.h:50`; `Client/streamhub/WSFrame_client.h:113` | +| Severity | Medium | +| Type | Stack buffer overflow (latent) | + +```cpp +uint8 msg[128]; +memcpy(msg, data, len); // if len > 120, overflows msg[128] +msg[len] = 0x80u; // OOB if len >= 128 +``` + +Currently only called with the WS key+GUID (~60 bytes), so not exploitable today. `WSFrame_client.h:113` also has `uint32_t bitLen = len * 8u` which truncates for `len > 512MB`, and `new uint8_t[msgLen]()` without exception guard (leaks on `bad_alloc`). + +**Fix:** Add `if (len > 119u) return;` guard; use `uint64_t bitLen`; use `std::vector` instead of manual `new[]`/`delete[]`. + +--- + +### MD-6 — No authentication on UDP CONNECT/DISCONNECT/ACK + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/UDPStream/UDPSServer.cpp:655-723, 729-741` | +| Severity | Medium | +| Type | Missing authentication | + +`HandleUnicastConnect` accepts any UDP datagram with the right magic and `type=CONNECT` from any source address. `HandleUnicastDisconnect` evicts any client by source address. `HandleUnicastAck` refreshes any client's `lastSeenTicks`. Any host that can send UDP to the server port can: (a) register as a client and receive all streamed data, (b) disconnect any known client by spoofing their source address (DoS), (c) keep a spoofed client alive indefinitely. + +**Fix:** Document the trust boundary; if deployed beyond a trusted LAN, add a shared-secret token to the CONNECT payload and validate source addresses. + +--- + +### MD-7 — `StringHelper::Copy` potential buffer overflow in TcpLogger + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/TCPLogger/TcpLogger.cpp:87` | +| Severity | Medium | +| Type | Potential buffer overflow | + +```cpp +StringHelper::Copy(entry.description, description); +``` + +`entry.description` is `char8[MAX_ERROR_MESSAGE_SIZE]`. If `description` (from `logPage->errorStrBuffer`) is longer than `MAX_ERROR_MESSAGE_SIZE - 1` and `StringHelper::Copy` uses `strcpy` internally, this overflows. + +**Fix:** Use `strncpy` with explicit size, or verify `StringHelper::Copy` is bounds-safe. + +--- + +### MD-8 — TcpLogger SPSC queue uses `volatile` indices, no atomics; lost wakeup + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/TCPLogger/TcpLogger.cpp:83-153, 157-158` | +| Severity | Medium | +| Type | Data race / lost wakeup | + +`writeIdx`/`readIdx` are `volatile uint32` — no memory ordering on non-x86. `eventSem.Wait(10)` followed by `eventSem.Reset()` is not atomic; a post between `Wait` returning and `Reset` is lost (entry delayed up to 10ms). + +**Fix:** Use `Atomic::Load`/`Store`; use `ResetWait` for atomic reset+wait. + +--- + +### MD-9 — `printf`/`fflush` on LoggerService (possibly RT) thread + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/TCPLogger/TcpLogger.cpp:75-76` | +| Severity | Medium | +| Type | RT latency jitter | + +`ConsumeLogMessage` is called by `LoggerService`, which may run on an RT thread. `printf`/`fflush` are blocking I/O calls causing latency jitter. + +**Fix:** Make stdout mirroring optional via configuration. + +--- + +### MD-10 — No cap on WebSocket client connections (Go hub) + +| Field | Value | +|-------|-------| +| File | `Common/Client/go/wshub/hub.go:367-377` | +| Severity | Medium | +| Type | Resource exhaustion | + +`HandleWebSocket` unconditionally creates a new `wsClient` with a 64-message buffered channel. No cap on total clients. An attacker can open thousands of connections, exhausting memory and goroutines. + +**Fix:** Track `len(h.clients)`; reject new connections above a configurable maximum (e.g. 100). + +--- + +### MD-11 — Silent data loss on all non-blocking channel sends + +| Field | Value | +|-------|-------| +| File | `Common/Client/go/wshub/hub.go:346-358, 315-318, 322-326, 330-334, 340-342` | +| Severity | Medium | +| Type | Silent data loss | + +`PushDataForSource`, `broadcast`, `AddSource`, `RemoveSource`, `SetSourceState`, `UpdateConfigForSource` all use `select { case ch <- v: default: }`, silently dropping messages when channels are full. Under high data rates, `dataCh` (cap 65536) fills and samples are dropped with no metric or backpressure. + +**Fix:** Add a dropped-counter metric; log/alert when drops occur; consider backpressure. + +--- + +### MD-12 — SSRF via unauthenticated `addSource` + +| Field | Value | +|-------|-------| +| Files | `Common/Client/go/wshub/hub.go:83-96`; `Common/Client/go/wshub/sources.go:62-67` | +| Severity | Medium | +| Type | Server-Side Request Forgery | + +Any WebSocket client (any origin due to CR-3) can add a data source pointing to any `host:port`. The `addr` is passed to `net.ResolveUDPAddr`/`net.ResolveTCPAddr` and the client dials it. This is SSRF — an attacker can probe internal network services. + +**Fix:** Validate/allow-list addresses; require authentication for source management. + +--- + +### MD-13 — Reassembler unbounded fragment-set map growth (Go) + +| Field | Value | +|-------|-------| +| File | `Common/Client/go/udpsprotocol/reassembler.go:41-89` | +| Severity | Medium | +| Type | Memory exhaustion | + +An attacker sending UDP packets with unique `(counter, type)` keys and `TotalFragments=2, FragmentIdx=0` creates a new `fragmentSet` per packet. Each set holds payload bytes and a `make([][]byte, total)` (up to 65535 entries). Within the 2-second TTL, high-rate flooding exhausts memory. + +**Fix:** Cap the number of concurrent fragment sets (e.g. `maxSets = 1024`); reject new sets when the cap is reached. + +--- + +### MD-14 — `martecontrol.go` index panic on short "OK SERVICE_INFO" response + +| Field | Value | +|-------|-------| +| File | `Client/debugger/martecontrol.go:543` | +| Severity | Medium | +| Type | Panic / crash | + +```go +if strings.HasPrefix(line, "OK SERVICE_INFO") { // matches 15-char string + ... + "data": line[len("OK SERVICE_INFO "):], // line[16:] → panic if len(line)==15 +``` + +**Fix:** Use `strings.TrimPrefix` and handle the empty case, or add a length check. + +--- + +### MD-15 — `pairCount * 16u` overflow on 32-bit (shared C++ client wire layer) + +| Field | Value | +|-------|-------| +| File | `Client/streamhub/Protocol.cpp:77, 117` (reused by Qt client) | +| Severity | Medium (32-bit), Low (64-bit) | +| Type | Integer overflow → OOB | + +```cpp +uint32_t pairCount = readU32(buf, off, len); +if (off + static_cast(pairCount) * 16u > len) { return false; } +``` + +On 32-bit, `pairCount * 16u` can overflow, bypassing the bounds check. On 64-bit, `pairCount` can be up to ~268M, forcing a large allocation. + +**Fix:** Check `pairCount > (len - off) / 16` before multiplication; use `ull` suffix. + +--- + +### MD-16 — `readU16`/`readU32` return 0 on truncation without signaling + +| Field | Value | +|-------|-------| +| File | `Client/streamhub/Protocol.cpp:21-38, 66-76` | +| Severity | Medium | +| Type | Silent malformed-frame acceptance | + +```cpp +static uint16_t readU16(const uint8_t* buf, size_t& off, size_t len) { + if (off + 2 > len) { return 0u; } // returns 0, does NOT signal failure + ... +} +``` + +If the buffer is truncated at the `numSignals` field, `readU32` returns 0 and `off` is not advanced. `ParseBinaryFrame` then returns `true` with an empty signal list, silently accepting a truncated/malformed frame as valid. + +**Fix:** `readU16`/`readU32`/`readF64` should return a status or set a flag; `ParseBinaryFrame` should fail fast on any truncated read. + +--- + +### MD-17 — JSON command builders use `snprintf`+`%s` with no escaping → JSON injection + +| Field | Value | +|-------|-------| +| File | `Client/streamhub/Protocol.cpp:183-186, 209-213` | +| Severity | Medium | +| Type | JSON injection | + +```cpp +char buf[256]; +snprintf(buf, sizeof(buf), "{\"type\":\"getConfig\",\"sourceId\":\"%s\"}", + sourceId.c_str()); +``` + +`%s` with user/server-provided strings does not escape JSON special characters. A source label containing `"` breaks the JSON and can inject arbitrary JSON keys. Also `snprintf` truncates silently for long inputs, producing invalid JSON. + +**Fix:** Use a JSON builder that escapes strings; use `std::string` instead of fixed buffers. + +--- + +### MD-18 — `strstr`-based JSON parsing matches nested keys + +| Field | Value | +|-------|-------| +| File | `Client/streamhub/Protocol.cpp:296-310, 495, 510` | +| Severity | Medium | +| Type | Parser confusion / data corruption | + +`ParseSources` uses `strstr(p, "\"id\":\"")` which matches inside string values. `ParseZoom`/`ParseStats` use `strstr(p, "\"t\":[")` which matches inside a signal key name. A crafted source label containing `"id":"` injects phantom sources. + +**Fix:** Migrate to a real JSON parser (nlohmann/json for ImGui; QJsonDocument for Qt). + +--- + +### MD-19 — WebSocket RFC 6455 violations in ImGui client + +| Field | Value | +|-------|-------| +| File | `Client/streamhub/WSClient.cpp:204-223` | +| Severity | Medium | +| Type | RFC non-compliance | + +- No `CONTINUATION` opcode handling (opcode 0x00) — fragmented messages silently dropped. +- No ≤125 byte enforcement on control frames — a malicious server can send a 16MB ping, echoed as a 16MB pong (bandwidth amplification). +- `CLOSE` frame not echoed back (RFC §5.5.1 requires it); close status code not read. + +**Fix:** Implement continuation-frame reassembly; reject control frames with `payloadLen > 125`; echo close frame. + +--- + +### MD-20 — Handshake `recv` one byte at a time, no `SO_RCVTIMEO` + +| Field | Value | +|-------|-------| +| File | `Client/streamhub/WSClient.cpp:290-301` | +| Severity | Medium | +| Type | Denial of service | + +If the server sends a partial response and hangs, the receive thread blocks forever (the 3-second reconnect sleep never runs). + +**Fix:** Set `SO_RCVTIMEO` on the socket; read in larger chunks. + +--- + +### MD-21 — 64KB stack buffer in DebugService streamer thread + shadowed member + +| Field | Value | +|-------|-------| +| File | `Source/Components/Interfaces/DebugService/DebugService.cpp:438, 489` | +| Severity | Medium | +| Type | Stack pressure | + +```cpp +uint8 udpsSampleBuf[UDPS_MAX_SAMPLE_BYTES]; // local 65510 bytes on stack (line 438) +... +static const uint32 CFG_BUF_SIZE = 65535u; +uint8 cfgBuf[CFG_BUF_SIZE]; // another 64KB on stack (line 489) +``` + +The class also has a member `uint8 udpsSampleBuf[65535u]` (DebugService.h:156) that is shadowed by the local and never used. + +**Fix:** Use the member instead of the local; use heap allocation for `cfgBuf`. + +--- + +### MD-22 — `FastPollingMutexSem` (spinlock) on RT path with network I/O in background holder + +| Field | Value | +|-------|-------| +| File | `Source/Components/DataSources/UDPStreamer/UDPStreamer.cpp:856, 947-976` | +| Severity | Medium | +| Type | Priority inversion / unbounded latency | + +`Synchronise()` (RT thread) uses `bufMutex.FastLock(TTInfiniteWait)`. The background thread holds `bufMutex` during a `memcpy` of `fill * totalSrcBytes` (potentially large) at line 950-955. If the background thread is preempted while holding the spinlock, the RT thread spins indefinitely, missing its deadline. + +**Fix:** Use a non-spinning mutex for the background thread, or ensure the RT-side critical section is minimal (pointer swap, not full memcpy). Consider a triple-buffer. + +--- + +### MD-23 — `configValidated` read without lock + +| Field | Value | +|-------|-------| +| File | `Source/Components/DataSources/UDPStreamerClient/UDPStreamerClient.cpp:463` | +| Severity | Medium | +| Type | Data race | + +`configValidated` is set under `bufMutex` (line 453) and cleared under `bufMutex` (line 489), but read without the lock at line 463. Technically UB (benign for a `bool` on x86). + +**Fix:** Mark `volatile` or acquire the lock before reading. + +--- + +### MD-24 — `parseCapture` panics on truncated input (E2E chain client) + +| Field | Value | +|-------|-------| +| File | `Test/E2E/chain/client/main.go:140-171` | +| Severity | Medium | +| Type | Panic / crash | + +`parseCapture` reads `keyLen`, `key`, and `n` without checking `off` is within `len(b)`. A truncated v2 frame causes a runtime panic (slice bounds out of range). The only initial check is `len(b) < 29`. + +**Fix:** Add bounds checks before each read (`if len(b) < off+2 { return nil, error }`), mirroring `parsePush`. + +--- + +## LOW + +### LO-1 — `totalFrags` overflow (caller-controlled) + +| File | `Source/Components/Interfaces/UDPStream/UDPSServer.cpp:541-542` | +| Severity | Low | + +`payloadSize + maxChunk - 1u` overflows if `payloadSize` is near `UINT32_MAX`. Not network-controlled but a caller bug could trigger it. + +--- + +### LO-2 — `Stop()` TOCTOU on socket deletion + +| File | `Source/Applications/StreamHub/WSServer.cpp:104-134` | +| Severity | Low | + +`Stop()` calls `sock->Close()` then `Sleep(200ms)` then `delete sock`. The read thread holds a raw `sock` copy. The 200ms sleep may not be sufficient; `delete` could free the socket while the read thread still references it. + +**Fix:** Use thread join instead of fixed sleep. + +--- + +### LO-3 — `FastPollingMutexSem` priority inversion on contended non-RT paths + +| Files | `UDPSourceSession.h:302, 311, 370`; `WSServer.h:60, 122` | +| Severity | Low | + +Spinlocks used for `metaMutex_`, `statsMutex_`, `recSpecMutex_`, `clientsMutex`, `writeMutex`. Priority inversion with no bound if a low-priority holder is preempted by a high-priority spinner. + +--- + +### LO-4 — `SignalBuffer::push` with `capacity == 0` → mod-0 UB + +| File | `Client/streamhub/SignalBuffer.h:36-41` | +| Severity | Low | + +`head = (head + 1) % capacity` is UB if `capacity == 0`. Not currently reachable (default cap 20000; `onMaxPointsUpdated` guards `mp >= 2`), but the API is fragile. + +--- + +### LO-5 — `SignalBuffer` comment claims "Thread-safe" but has no internal locking + +| File | `Client/streamhub/SignalBuffer.h:18` | +| Severity | Low | + +Safe only by current call-site discipline (ImGui: main-thread access; Qt: GUI-thread signals). Misleading comment could cause a future refactor to introduce a data race. + +--- + +### LO-6 — SineArrayGAM / TimeArrayGAM: no output-type validation + +| Files | `Source/Components/GAMs/SineArrayGAM/SineArrayGAM.cpp:81-100`; `Source/Components/GAMs/TimeArrayGAM/TimeArrayGAM.cpp:54-81` | +| Severity | Low | + +`Setup()` never verifies the output signal type. `TimeArrayGAM.h` doc says `uint32` but code uses `uint64` → if user follows the doc and configures `uint32`, `nElements` is doubled and writes overflow the buffer. + +**Fix:** Add `GetSignalType(...)` checks; update `TimeArrayGAM.h` doc to `uint64`. + +--- + +### LO-7 — Signal names inserted into JSON via `%s` Printf without escaping + +| File | `Source/Components/Interfaces/DebugService/DebugServiceBase.cpp:900-906` | +| Severity | Low | + +Config-sourced (not remote), but a format violation. A signal name containing `"` or `\` breaks the JSON. + +**Fix:** Use the existing `EscapeJson` helper. + +--- + +### LO-8 — `EvaluateBreak` checks only element 0 of array signals + +| File | `Source/Components/Interfaces/DebugService/DebugBrokerWrapper.h:61-86` | +| Severity | Low | + +Undocumented feature limitation. + +--- + +### LO-9 — `fprintf(stderr, ...)` on init path + +| File | `Source/Components/Interfaces/DebugService/DebugBrokerWrapper.h:195-197` | +| Severity | Low | + +Should use `REPORT_ERROR` instead. + +--- + +### LO-10 — `unsafe.Pointer` aliasing in `float64ToBytes` + +| File | `Common/Client/go/wshub/hub.go:588-594` | +| Severity | Low | + +`unsafe.Slice((*byte)(unsafe.Pointer(&f[0])), len(f)*8)` aliases the float64 backing array. Currently safe (synchronous copy), but fragile if a caller retains the byte slice. + +--- + +### LO-11 — `+Inf` in JSON from division by zero + +| File | `Common/Client/go/wshub/stats.go:115-116` | +| Severity | Low | + +`si.RateHz = 1.0 / avg` produces `+Inf` if `avg == 0`, yielding invalid JSON. + +--- + +### LO-12 — Directory listing enabled + +| File | `Client/webui/main.go:26` | +| Severity | Low | + +`http.FileServer(http.Dir(*static))` serves directory listings if a directory lacks `index.html`. + +--- + +### LO-13 — No security headers on static file serving + +| File | `Client/debugger/main.go:55` | +| Severity | Low | + +No `Content-Security-Policy`, `X-Frame-Options`, `X-Content-Type-Options: nosniff`. + +--- + +### LO-14 — `stopCh` close pattern not `sync.Once`-guarded + +| File | `Client/debugger/martecontrol.go:182-189` | +| Severity | Low | + +`select { case <-m.stopCh: default: close(m.stopCh) }` is not atomic; concurrent `Disconnect` calls would double-close and panic. + +--- + +### LO-15 — `host_`/`port_` read by recv thread, written by UI thread + +| File | `Client/streamhub/WSClient.cpp:48-58, 73-89, 160` | +| Severity | Low | + +`std::string` concurrent read/write is technically UB (small window; recv thread re-reads on each reconnect cycle). + +--- + +### LO-16 — `ReadExactTCP` progress edge case + +| File | `Source/Components/Interfaces/UDPStream/UDPSClient.cpp:474-487` | +| Severity | Low | + +If `Read` returns `true` but leaves `chunk` unchanged (contract violation), `got` would advance without data being read. Depends on MARTe2 `BasicTCPSocket::Read` contract. + +--- + +### LO-17 — `bufMutex.Create(false)` return value unchecked + +| Files | `Source/Components/DataSources/UDPStreamer/UDPStreamer.cpp:119`; `Source/Components/DataSources/UDPStreamerClient/UDPStreamerClient.cpp:149` | +| Severity | Low | + +If mutex creation fails, all subsequent `FastLock` calls operate on an uninitialized semaphore → UB. + +--- + +### LO-18 — No validation of `RangeMin < RangeMax` for quantization + +| File | `Source/Components/DataSources/UDPStreamer/UDPStreamer.cpp:403-404` | +| Severity | Low | + +If `rangeMax < rangeMin`, quantization normalization produces negative values clamped to 0.0 → silent data corruption. Divide-by-zero is guarded (`if (rRange == 0.0) rRange = 1.0`). + +--- + +### LO-19 — Reassembler GC ticker panics if `expiry == 0` + +| File | `Common/Client/go/udpsprotocol/reassembler.go:93` | +| Severity | Low | + +`time.NewTicker(r.expiry / 2)` panics if `r.expiry == 0`. Currently always called with `2 * time.Second`. + +--- + +## Cross-cutting themes + +1. **Integer overflow in size arithmetic is pervasive** — every binary protocol parser (C++ producer, C++ consumer, Go decoder, C++ client wire layer) multiplies attacker-controlled counts by element sizes in 32-bit. Uniform fix: validate count against `len(payload)/elementSize` before multiplying; use 64-bit for bounds checks. +2. **No authentication anywhere in the control plane** — DebugService TCP, TcpLogger TCP, both Go web UIs, the C++ StreamHub WS, and the UDPS CONNECT protocol all trust any peer. Bind to localhost by default; document the trust boundary. +3. **WebSocket Origin checks disabled in every WS server** — Go `CheckOrigin: true`; C++ no Origin parse. Drive-by CSRF on all of them. +4. **`volatile` used for cross-thread synchronization** — TraceRingBuffer, TcpLogger queue. Not a memory-ordering primitive on non-x86; use atomics. +5. **`strstr`/`snprintf`-based JSON** in C++ clients — fragile against crafted-but-valid JSON; migrate to a real parser. diff --git a/Client/debugger/cmd_gate_test.go b/Client/debugger/cmd_gate_test.go new file mode 100644 index 0000000..1ca0ad5 --- /dev/null +++ b/Client/debugger/cmd_gate_test.go @@ -0,0 +1,54 @@ +package main + +import ( + "testing" +) + +// TestIsDangerousCommand_Force — FORCE is dangerous. +func TestIsDangerousCommand_Force(t *testing.T) { + if !isDangerousCommand("FORCE signal 1.0") { + t.Error("FORCE should be dangerous") + } +} + +// TestIsDangerousCommand_Pause — PAUSE is dangerous. +func TestIsDangerousCommand_Pause(t *testing.T) { + if !isDangerousCommand("PAUSE") { + t.Error("PAUSE should be dangerous") + } +} + +// TestIsDangerousCommand_Msg — MSG is dangerous. +func TestIsDangerousCommand_Msg(t *testing.T) { + if !isDangerousCommand("MSG target func") { + t.Error("MSG should be dangerous") + } +} + +// TestIsDangerousCommand_CaseInsensitive — case-insensitive. +func TestIsDangerousCommand_CaseInsensitive(t *testing.T) { + if !isDangerousCommand("force signal 1.0") { + t.Error("lowercase force should be dangerous") + } +} + +// TestIsDangerousCommand_SafeCommand — DISCOVER is not dangerous. +func TestIsDangerousCommand_SafeCommand(t *testing.T) { + if isDangerousCommand("DISCOVER") { + t.Error("DISCOVER should not be dangerous") + } +} + +// TestIsDangerousCommand_TraceNotDangerous — TRACE is not dangerous (read-only). +func TestIsDangerousCommand_TraceNotDangerous(t *testing.T) { + if isDangerousCommand("TRACE signal 1") { + t.Error("TRACE should not be dangerous") + } +} + +// TestIsDangerousCommand_Empty — empty command is not dangerous. +func TestIsDangerousCommand_Empty(t *testing.T) { + if isDangerousCommand("") { + t.Error("empty command should not be dangerous") + } +} diff --git a/Client/debugger/main.go b/Client/debugger/main.go index 3e732e3..f9156ce 100644 --- a/Client/debugger/main.go +++ b/Client/debugger/main.go @@ -21,6 +21,8 @@ var staticFiles embed.FS func main() { addr := flag.String("addr", ":7777", "HTTP listen address") sourcesFile := flag.String("sources-file", "", "JSON file for persistent source list") + flag.BoolVar(&dangerousCommandsEnabled, "enable-dangerous-commands", false, + "Allow FORCE/PAUSE/RESUME/STEP/BREAK/MSG commands from the browser (CR-4 safety gate)") flag.Parse() hub := wshub.NewHub() diff --git a/Client/debugger/martecontrol.go b/Client/debugger/martecontrol.go index 79b1198..8fed345 100644 --- a/Client/debugger/martecontrol.go +++ b/Client/debugger/martecontrol.go @@ -17,6 +17,40 @@ import ( "marte2/common/wshub" ) +// --------------------------------------------------------------------------- +// Command safety gate (CR-4) +// --------------------------------------------------------------------------- + +// dangerousCommandsEnabled gates commands that mutate the RT application state +// (FORCE, PAUSE, RESUME, STEP, BREAK, MSG). Set via --enable-dangerous-commands. +var dangerousCommandsEnabled = false + +// dangerousCommands is the set of MARTe2 commands that can change signal values +// or alter execution flow. Without --enable-dangerous-commands these are blocked +// from the browser WebSocket path. +var dangerousCommands = map[string]bool{ + "FORCE": true, + "UNFORCE": true, + "PAUSE": true, + "RESUME": true, + "STEP": true, + "BREAK": true, + "UNBREAK": true, + "MSG": true, + "LOAD": true, + "UNLOAD": true, +} + +// isDangerousCommand returns true if the command's first word is in the +// dangerous set (case-insensitive). +func isDangerousCommand(cmd string) bool { + parts := strings.Fields(cmd) + if len(parts) == 0 { + return false + } + return dangerousCommands[strings.ToUpper(parts[0])] +} + // --------------------------------------------------------------------------- // Signal metadata (populated by DISCOVER) // --------------------------------------------------------------------------- @@ -256,10 +290,25 @@ func (m *MarteController) HandleBrowserCommand(msg []byte) { return } cmd, _ := data["cmd"].(string) - if cmd != "" { - m.trackForcedCmd(cmd) - m.SendCommand(cmd) + if cmd == "" { + return } + // Gate dangerous commands (FORCE/UNFORCE/PAUSE/RESUME/STEP/BREAK/MSG) + // behind an explicit opt-in flag. Without it, only read-only commands + // (DISCOVER, TREE, INFO, LS, VALUE, TRACE, UNTRACE, STEP_STATUS) are + // forwarded to the MARTe2 TCP control connection. + if isDangerousCommand(cmd) { + if !dangerousCommandsEnabled { + broadcastHub(m.hub, map[string]any{ + "type": "log", "time": time.Now().Format("15:04:05.000"), + "level": "WARNING", + "message": fmt.Sprintf("Blocked dangerous command (requires --enable-dangerous-commands): %s", cmd), + }) + return + } + } + m.trackForcedCmd(cmd) + m.SendCommand(cmd) } } diff --git a/Client/debugger/static/app.js b/Client/debugger/static/app.js index 3afa5c2..2521366 100644 --- a/Client/debugger/static/app.js +++ b/Client/debugger/static/app.js @@ -3511,7 +3511,7 @@ function _fmtHz(v) { return v != null && isFinite(v) && v > 0 ? v.toFixed(2) + ' function _fmtKB(v) { return v != null && isFinite(v) ? (v / 1024).toFixed(2) + ' KB' : '—'; } function _statsKV(label, value, cls) { - return `
${label}${value}
`; + return `
${escHtml(label)}${escHtml(value)}
`; } function _histHTML(si) { diff --git a/Client/streamhub/WSClient.cpp b/Client/streamhub/WSClient.cpp index bb5939b..4abf8e6 100644 --- a/Client/streamhub/WSClient.cpp +++ b/Client/streamhub/WSClient.cpp @@ -18,18 +18,27 @@ #include #include #include +#include namespace StreamHubClient { /* ── Helpers ─────────────────────────────────────────────────────────────── */ static std::string base64Key() { - /* Generate 16 random bytes and base64-encode them */ + /* HI-7: use /dev/urandom (CSPRNG) instead of srand(time)/rand() */ uint8_t raw[16]; - srand(static_cast(time(nullptr))); - for (int i = 0; i < 16; i++) { - raw[i] = static_cast(rand() & 0xFF); + int fd = open("/dev/urandom", O_RDONLY); + if (fd < 0 || read(fd, raw, sizeof(raw)) != static_cast(sizeof(raw))) { + /* Fallback: std::random_device (still better than srand/rand) */ + std::random_device rd; + for (size_t i = 0; i < sizeof(raw); i += sizeof(unsigned)) { + unsigned val = rd(); + for (size_t j = 0; j < sizeof(unsigned) && i + j < sizeof(raw); j++) { + raw[i + j] = static_cast(val >> (j * 8)); + } + } } + if (fd >= 0) { close(fd); } char out[32]; WS_Base64Encode(raw, 16, out); return std::string(out); diff --git a/Client/streamhub/build/StreamHubClient b/Client/streamhub/build/StreamHubClient index 77018f6f1d2890197fe7048ac7906fbf8485c2f9..208a9f043af9d31bfdb01ad93ab997dba943867f 100755 GIT binary patch delta 365980 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.vs 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