@lodestar/beacon-node 1.50.0-dev.db953a4f93 → 1.50.0-dev.e90f18e925

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,8 @@ export declare enum GossipAction {
6
6
  export declare enum GossipErrorCode {
7
7
  INVALID_SERIALIZED_BYTES_ERROR_CODE = "GOSSIP_ERROR_INVALID_SERIALIZED_BYTES",
8
8
  PAST_SLOT = "GOSSIP_ERROR_PAST_SLOT",
9
- FUTURE_SLOT = "GOSSIP_ERROR_FUTURE_SLOT"
9
+ FUTURE_SLOT = "GOSSIP_ERROR_FUTURE_SLOT",
10
+ INVALID_SLOT = "GOSSIP_ERROR_INVALID_SLOT"
10
11
  }
11
12
  export declare class GossipActionError<T extends {
12
13
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"gossipValidation.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/gossipValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,oBAAY,eAAe;IACzB,mCAAmC,0CAA0C;IAC7E,SAAS,2BAA2B;IACpC,WAAW,6BAA6B;CACzC;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC/E,MAAM,EAAE,YAAY,CAAC;IAErB,YAAY,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAGxC;CACF"}
1
+ {"version":3,"file":"gossipValidation.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/gossipValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,oBAAY,eAAe;IACzB,mCAAmC,0CAA0C;IAC7E,SAAS,2BAA2B;IACpC,WAAW,6BAA6B;IACxC,YAAY,8BAA8B;CAC3C;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC/E,MAAM,EAAE,YAAY,CAAC;IAErB,YAAY,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAGxC;CACF"}
@@ -9,6 +9,7 @@ export var GossipErrorCode;
9
9
  GossipErrorCode["INVALID_SERIALIZED_BYTES_ERROR_CODE"] = "GOSSIP_ERROR_INVALID_SERIALIZED_BYTES";
10
10
  GossipErrorCode["PAST_SLOT"] = "GOSSIP_ERROR_PAST_SLOT";
11
11
  GossipErrorCode["FUTURE_SLOT"] = "GOSSIP_ERROR_FUTURE_SLOT";
12
+ GossipErrorCode["INVALID_SLOT"] = "GOSSIP_ERROR_INVALID_SLOT";
12
13
  })(GossipErrorCode || (GossipErrorCode = {}));
13
14
  export class GossipActionError extends LodestarError {
14
15
  action;
@@ -1 +1 @@
1
- {"version":3,"file":"gossipValidation.js","sourceRoot":"","sources":["../../../src/chain/errors/gossipValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;AACnB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gGAA6E,CAAA;IAC7E,uDAAoC,CAAA;IACpC,2DAAwC,CAAA;AAC1C,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,OAAO,iBAA4C,SAAQ,aAAgB;IAC/E,MAAM,CAAe;IAErB,YAAY,MAAoB,EAAE,IAAO;QACvC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"gossipValidation.js","sourceRoot":"","sources":["../../../src/chain/errors/gossipValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;AACnB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,gGAA6E,CAAA;IAC7E,uDAAoC,CAAA;IACpC,2DAAwC,CAAA;IACxC,6DAA0C,CAAA;AAC5C,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,OAAO,iBAA4C,SAAQ,aAAgB;IAC/E,MAAM,CAAe;IAErB,YAAY,MAAoB,EAAE,IAAO;QACvC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
@@ -2,13 +2,15 @@ import { ChainForkConfig } from "@lodestar/config";
2
2
  import { Logger } from "@lodestar/utils";
3
3
  import { Metrics } from "../../metrics/index.js";
4
4
  import { INetworkCore } from "../core/index.js";
5
- import { GossipHandlers, GossipValidatorBatchFn, GossipValidatorFn } from "../gossip/interface.js";
5
+ import { GossipHandlers, GossipType, GossipValidatorBatchFn, GossipValidatorFn } from "../gossip/interface.js";
6
+ import { PeerAction } from "../peers/index.js";
6
7
  export type ValidatorFnModules = {
7
8
  config: ChainForkConfig;
8
9
  logger: Logger;
9
10
  metrics: Metrics | null;
10
11
  core: INetworkCore;
11
12
  };
13
+ export declare function rejectPeerAction(type: GossipType, code: string): PeerAction;
12
14
  /**
13
15
  * Similar to getGossipValidatorFn but return a function to accept a batch of beacon_attestation messages
14
16
  * with the same attestation data
@@ -1 +1 @@
1
- {"version":3,"file":"gossipValidatorFn.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAmBvC,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,cAAc,EAGd,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AA+EF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,kBAAkB,GAC1B,sBAAsB,CAoExB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CA8DnH"}
1
+ {"version":3,"file":"gossipValidatorFn.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAmBvC,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,cAAc,EAEd,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAG7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AA0EF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAG3E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,kBAAkB,GAC1B,sBAAsB,CAoExB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CA8DnH"}
@@ -72,7 +72,7 @@ const gossipRejectPeerAction = {
72
72
  [GossipType.light_client_finality_update]: { default: PeerAction.HighToleranceError },
73
73
  [GossipType.light_client_optimistic_update]: { default: PeerAction.HighToleranceError },
74
74
  };
75
- function rejectPeerAction(type, code) {
75
+ export function rejectPeerAction(type, code) {
76
76
  const rule = gossipRejectPeerAction[type];
77
77
  return rule.byCode?.[code] ?? rule.default;
78
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gossipValidatorFn.js","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gossipValidatorFn.js","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,7 @@ export declare enum CannotAcceptWorkReason {
97
97
  export declare class NetworkProcessor {
98
98
  private readonly opts;
99
99
  private readonly chain;
100
+ private readonly core;
100
101
  private readonly events;
101
102
  private readonly logger;
102
103
  private readonly metrics;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,MAAM,EAA2B,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAW/C,OAAO,EAAe,eAAe,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,cAAc,EAEd,UAAU,EAGX,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAoB,MAAM,qBAAqB,CAAC;AAE9F,OAAO,EAAC,kBAAkB,EAAkD,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAAC,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAEnD,cAAc,YAAY,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GACvD,kBAAkB,GAAG;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAExB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEJ,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG;IACrD,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAOF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAI9E,CAAC;AAiEF;;GAEG;AACH,oBAAY,qBAAqB;IAC/B;;OAEG;IACH,aAAa,kBAAkB;IAC/B;;OAEG;IACH,kBAAkB,uBAAuB;IACzC;;OAEG;IACH,mBAAmB,wBAAwB;IAC3C;;OAEG;IACH,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC;;OAEG;IACH,GAAG,aAAa;IAChB;;OAEG;IACH,KAAK,eAAe;CACrB;AA6BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,gBAAgB;IA6BzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IA5BvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwC;IACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA8B;IACrE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAmC;IAI3E,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAoE;IAChH,OAAO,CAAC,yBAAyB,CAAK;IAGtC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAGjD;IACF,OAAO,CAAC,2BAA2B,CAAK;IACxC,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,mBAAmB,CAAmD;IAE9E,YACE,OAAO,EAAE,uBAAuB,EACf,IAAI,EAAE,oBAAoB,EAmD5C;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAK1B;IAED,WAAW,IAAI,IAAI,CAIlB;IAED,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,uBAAuB,EAAE,CAO5D;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAqB9F;IAED;;;;;OAKG;IACH,qBAAqB,CACnB,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,WAAW,EACzB,MAAM,EAAE,gBAAgB,EACxB,IAAI,CAAC,EAAE,SAAS,EAChB,iBAAiB,UAAQ,GACxB,IAAI,CA6BN;IAED,OAAO,CAAC,yBAAyB,CA2M/B;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IA0BvB,6CAA6C;IAC7C,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAMzD;IAED;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,gBAAgB,CAwCtB;IAEF,OAAO,CAAC,0BAA0B,CAqChC;IAEF,OAAO,CAAC,WAAW,CAoEjB;IAEF,OAAO,CAAC,WAAW;YAkDL,8BAA8B;IA6D5C,OAAO,CAAC,YAAY;IAkBpB;;OAEG;IACH,OAAO,CAAC,eAAe;CAWxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { MAX_PEERS_PER_ROOT } from "./constants.js";
14
14
  import { createExtractBlockSlotRootFns } from "./extractSlotRootFns.js";
15
15
  import { getGossipHandlers } from "./gossipHandlers.js";
16
16
  import { createGossipQueues } from "./gossipQueues/index.js";
17
- import { getGossipValidatorBatchFn, getGossipValidatorFn } from "./gossipValidatorFn.js";
17
+ import { getGossipValidatorBatchFn, getGossipValidatorFn, rejectPeerAction, } from "./gossipValidatorFn.js";
18
18
  export * from "./types.js";
19
19
  /**
20
20
  * Keep up to 3 slot of unknown roots, so we don't always emit to UnknownBlock sync.
@@ -158,6 +158,7 @@ var SearchTarget;
158
158
  export class NetworkProcessor {
159
159
  opts;
160
160
  chain;
161
+ core;
161
162
  events;
162
163
  logger;
163
164
  metrics;
@@ -179,8 +180,9 @@ export class NetworkProcessor {
179
180
  bufferedRootsBySlot = new MapDef(() => new Set());
180
181
  constructor(modules, opts) {
181
182
  this.opts = opts;
182
- const { chain, events, logger, metrics } = modules;
183
+ const { chain, core, events, logger, metrics } = modules;
183
184
  this.chain = chain;
185
+ this.core = core;
184
186
  this.events = events;
185
187
  this.metrics = metrics;
186
188
  this.logger = logger;
@@ -302,15 +304,33 @@ export class NetworkProcessor {
302
304
  onPendingGossipsubMessage = (message) => {
303
305
  const topicType = message.topic.type;
304
306
  const extractBlockSlotRootFn = this.extractBlockSlotRootFns[topicType];
307
+ if (extractBlockSlotRootFn === undefined) {
308
+ // some messages don't have slot and root
309
+ this.pushPendingGossipsubMessageToQueue(message);
310
+ return;
311
+ }
305
312
  // 1st extract round: make sure slot is in range and if block root is not available
306
313
  // proactively search for it + queue the message
307
- const slotRoot = extractBlockSlotRootFn
308
- ? extractBlockSlotRootFn(message.msg.data, message.topic.boundary.fork)
309
- : null;
314
+ const slotRoot = extractBlockSlotRootFn(message.msg.data, message.topic.boundary.fork);
310
315
  if (slotRoot === null) {
311
- // some messages don't have slot and root
312
- // if the msg.data is invalid, message will be rejected when deserializing data in later phase (gossipValidatorFn)
313
- this.pushPendingGossipsubMessageToQueue(message);
316
+ // DOS protection: null means malformed bytes or slot >= 2^32, neither is forwarded by honest peers.
317
+ const { propagationSource, clientAgent, clientVersion } = message;
318
+ const code = GossipErrorCode.INVALID_SLOT;
319
+ const peerAction = rejectPeerAction(topicType, code);
320
+ this.metrics?.networkProcessor.gossipValidationReject.inc({ topic: topicType });
321
+ this.core.reportPeer(propagationSource, peerAction, code);
322
+ this.logger.debug(`Gossip validation ${topicType} rejected due to null slot`, {
323
+ peer: propagationSource,
324
+ clientAgent,
325
+ clientVersion,
326
+ peerAction,
327
+ code,
328
+ });
329
+ this.events.emit(NetworkEvent.gossipMessageValidationResult, {
330
+ msgId: message.msgId,
331
+ propagationSource,
332
+ acceptance: TopicValidatorResult.Reject,
333
+ });
314
334
  return;
315
335
  }
316
336
  // common check for all topics
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.50.0-dev.db953a4f93",
14
+ "version": "1.50.0-dev.e90f18e925",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -127,17 +127,17 @@
127
127
  "@libp2p/prometheus-metrics": "^5.0.28",
128
128
  "@libp2p/tcp": "^11.0.27",
129
129
  "@libp2p/utils": "^7.4.0",
130
- "@lodestar/api": "^1.50.0-dev.db953a4f93",
131
- "@lodestar/config": "^1.50.0-dev.db953a4f93",
132
- "@lodestar/db": "^1.50.0-dev.db953a4f93",
133
- "@lodestar/fork-choice": "^1.50.0-dev.db953a4f93",
134
- "@lodestar/logger": "^1.50.0-dev.db953a4f93",
135
- "@lodestar/params": "^1.50.0-dev.db953a4f93",
136
- "@lodestar/reqresp": "^1.50.0-dev.db953a4f93",
137
- "@lodestar/state-transition": "^1.50.0-dev.db953a4f93",
138
- "@lodestar/types": "^1.50.0-dev.db953a4f93",
139
- "@lodestar/utils": "^1.50.0-dev.db953a4f93",
140
- "@lodestar/validator": "^1.50.0-dev.db953a4f93",
130
+ "@lodestar/api": "^1.50.0-dev.e90f18e925",
131
+ "@lodestar/config": "^1.50.0-dev.e90f18e925",
132
+ "@lodestar/db": "^1.50.0-dev.e90f18e925",
133
+ "@lodestar/fork-choice": "^1.50.0-dev.e90f18e925",
134
+ "@lodestar/logger": "^1.50.0-dev.e90f18e925",
135
+ "@lodestar/params": "^1.50.0-dev.e90f18e925",
136
+ "@lodestar/reqresp": "^1.50.0-dev.e90f18e925",
137
+ "@lodestar/state-transition": "^1.50.0-dev.e90f18e925",
138
+ "@lodestar/types": "^1.50.0-dev.e90f18e925",
139
+ "@lodestar/utils": "^1.50.0-dev.e90f18e925",
140
+ "@lodestar/validator": "^1.50.0-dev.e90f18e925",
141
141
  "@multiformats/multiaddr": "^13.0.1",
142
142
  "datastore-core": "^12.0.1",
143
143
  "datastore-level": "^13.0.1",
@@ -158,8 +158,8 @@
158
158
  "devDependencies": {
159
159
  "@libp2p/interface-internal": "^3.1.12",
160
160
  "@libp2p/logger": "^6.2.13",
161
- "@lodestar/spec-test-util": "^1.50.0-dev.db953a4f93",
162
- "@lodestar/test-utils": "^1.50.0-dev.db953a4f93",
161
+ "@lodestar/spec-test-util": "^1.50.0-dev.e90f18e925",
162
+ "@lodestar/test-utils": "^1.50.0-dev.e90f18e925",
163
163
  "@types/js-yaml": "^4.0.5",
164
164
  "@types/qs": "^6.9.7",
165
165
  "@types/tmp": "^0.2.3",
@@ -174,5 +174,5 @@
174
174
  "beacon",
175
175
  "blockchain"
176
176
  ],
177
- "gitHead": "f0d081277fd92d15ec5e0295b92bb7bfa28e250d"
177
+ "gitHead": "589559dd8659d5aac78c84ed516e05d52422b124"
178
178
  }
@@ -9,6 +9,7 @@ export enum GossipErrorCode {
9
9
  INVALID_SERIALIZED_BYTES_ERROR_CODE = "GOSSIP_ERROR_INVALID_SERIALIZED_BYTES",
10
10
  PAST_SLOT = "GOSSIP_ERROR_PAST_SLOT",
11
11
  FUTURE_SLOT = "GOSSIP_ERROR_FUTURE_SLOT",
12
+ INVALID_SLOT = "GOSSIP_ERROR_INVALID_SLOT",
12
13
  }
13
14
 
14
15
  export class GossipActionError<T extends {code: string}> extends LodestarError<T> {
@@ -112,7 +112,7 @@ const gossipRejectPeerAction: Record<GossipType, RejectPeerActionRule> = {
112
112
  [GossipType.light_client_optimistic_update]: {default: PeerAction.HighToleranceError},
113
113
  };
114
114
 
115
- function rejectPeerAction(type: GossipType, code: string): PeerAction {
115
+ export function rejectPeerAction(type: GossipType, code: string): PeerAction {
116
116
  const rule = gossipRejectPeerAction[type];
117
117
  return rule.byCode?.[code] ?? rule.default;
118
118
  }
@@ -22,6 +22,7 @@ import {
22
22
  getParentRootFromSignedBeaconBlockSerialized,
23
23
  getPayloadPresentFromPayloadAttestationMessageSerialized,
24
24
  } from "../../util/sszBytes.js";
25
+ import {INetworkCore} from "../core/index.js";
25
26
  import {NetworkEvent, NetworkEventBus} from "../events.js";
26
27
  import {
27
28
  GossipHandlers,
@@ -34,7 +35,12 @@ import {MAX_PEERS_PER_ROOT} from "./constants.js";
34
35
  import {createExtractBlockSlotRootFns} from "./extractSlotRootFns.js";
35
36
  import {GossipHandlerOpts, ValidatorFnsModules, getGossipHandlers} from "./gossipHandlers.js";
36
37
  import {createGossipQueues} from "./gossipQueues/index.js";
37
- import {ValidatorFnModules, getGossipValidatorBatchFn, getGossipValidatorFn} from "./gossipValidatorFn.js";
38
+ import {
39
+ ValidatorFnModules,
40
+ getGossipValidatorBatchFn,
41
+ getGossipValidatorFn,
42
+ rejectPeerAction,
43
+ } from "./gossipValidatorFn.js";
38
44
  import {PendingGossipsubMessage} from "./types.js";
39
45
 
40
46
  export * from "./types.js";
@@ -232,6 +238,7 @@ type SearchUnknownRootTarget =
232
238
  */
233
239
  export class NetworkProcessor {
234
240
  private readonly chain: IBeaconChain;
241
+ private readonly core: INetworkCore;
235
242
  private readonly events: NetworkEventBus;
236
243
  private readonly logger: Logger;
237
244
  private readonly metrics: Metrics | null;
@@ -261,8 +268,9 @@ export class NetworkProcessor {
261
268
  modules: NetworkProcessorModules,
262
269
  private readonly opts: NetworkProcessorOpts
263
270
  ) {
264
- const {chain, events, logger, metrics} = modules;
271
+ const {chain, core, events, logger, metrics} = modules;
265
272
  this.chain = chain;
273
+ this.core = core;
266
274
  this.events = events;
267
275
  this.metrics = metrics;
268
276
  this.logger = logger;
@@ -409,16 +417,34 @@ export class NetworkProcessor {
409
417
  private onPendingGossipsubMessage = (message: PendingGossipsubMessage): void => {
410
418
  const topicType = message.topic.type;
411
419
  const extractBlockSlotRootFn = this.extractBlockSlotRootFns[topicType];
420
+ if (extractBlockSlotRootFn === undefined) {
421
+ // some messages don't have slot and root
422
+ this.pushPendingGossipsubMessageToQueue(message);
423
+ return;
424
+ }
412
425
 
413
426
  // 1st extract round: make sure slot is in range and if block root is not available
414
427
  // proactively search for it + queue the message
415
- const slotRoot = extractBlockSlotRootFn
416
- ? extractBlockSlotRootFn(message.msg.data, message.topic.boundary.fork)
417
- : null;
428
+ const slotRoot = extractBlockSlotRootFn(message.msg.data, message.topic.boundary.fork);
418
429
  if (slotRoot === null) {
419
- // some messages don't have slot and root
420
- // if the msg.data is invalid, message will be rejected when deserializing data in later phase (gossipValidatorFn)
421
- this.pushPendingGossipsubMessageToQueue(message);
430
+ // DOS protection: null means malformed bytes or slot >= 2^32, neither is forwarded by honest peers.
431
+ const {propagationSource, clientAgent, clientVersion} = message;
432
+ const code = GossipErrorCode.INVALID_SLOT;
433
+ const peerAction = rejectPeerAction(topicType, code);
434
+ this.metrics?.networkProcessor.gossipValidationReject.inc({topic: topicType});
435
+ this.core.reportPeer(propagationSource, peerAction, code);
436
+ this.logger.debug(`Gossip validation ${topicType} rejected due to null slot`, {
437
+ peer: propagationSource,
438
+ clientAgent,
439
+ clientVersion,
440
+ peerAction,
441
+ code,
442
+ });
443
+ this.events.emit(NetworkEvent.gossipMessageValidationResult, {
444
+ msgId: message.msgId,
445
+ propagationSource,
446
+ acceptance: TopicValidatorResult.Reject,
447
+ });
422
448
  return;
423
449
  }
424
450