• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hyperledger-labs / fabric-smart-client / 30338257600

28 Jul 2026 07:23AM UTC coverage: 81.265% (+0.05%) from 81.213%
30338257600

push

github

web-flow
fix(security): harden fabricx driver against malformed/malicious remote input (#1613)

* fix(security): harden fabricx driver against malformed/malicious remote input

Several code paths in platform/fabricx/ trusted remote-controlled input
(committer/notifier responses, block/metadata content, channel-config
envelopes) without sufficient validation, allowing a malicious or
compromised remote endpoint to bypass endorsement verification, deadlock
finality tracking, crash the client process, or suppress legitimate
channel-config propagation.

- core/transaction: verify every EndorsementWithIdentity entry in a
  namespace's endorsement set (not just the first), and cross-check each
  entry's claimed identity against the actual endorser.
- core/finality: never hold handlersMu across a blocking send on
  requestQueue; fail fast with an error once the notification stream has
  died instead of deadlocking every subsequent listener registration.
- core/ledger: bounds/nil-check block header, block data, and the
  TRANSACTIONS_FILTER metadata entry before indexing into them.
- core/channel/config: cross-validate the remote-reported config Version
  against the sequence number embedded in the config envelope's own
  content, so a compromised committer cannot suppress a genuinely new
  config merely by lying about Version.
- core/committer: bounds-check the TRANSACTIONS_FILTER entry against the
  transaction index (including an off-by-one in the outer length check)
  before indexing into it.

All previously-panicking/bypassing behavior is now covered by regression
tests asserting the fixed behavior.

Refs #1612

Signed-off-by: Angelo De Caro <adc@zurich.ibm.com>

* test(security): satisfy make checks lint on new regression tests

golangci-lint (paralleltest, gofumpt) flagged the regression tests added
in the previous commit: several test functions were missing t.Parallel(),
and one file had a gofumpt formatting issue.

- core/committer, core/finality, core/ledger:... (continued)

104 of 111 new or added lines in 5 files covered. (93.69%)

7 existing lines in 4 files now uncovered.

32401 of 39871 relevant lines covered (81.26%)

3155.6 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

54.55
/platform/view/services/storage/driver/sql/sqlite/errormapper.go


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc