F-2025-0006·missing-input-validation

Missing input validation in config parameter enqueuing leads to silent configuration failures

Fixedlotterypixel-lotterychainlink-vrf
TL;DR

enqueueConfigChange() accepts config values without validation; invalid values are silently ignored later in _applyPendingConfigChanges(), creating a mismatch between admin intent and the protocol's actual state.

Severity
LOW
Impact
LOW
Likelihood
MEDIUM
Method
MManual review
CAT.
Complexity
LOW
Exploitability
LOW
02Section · Description

Description

The enqueueConfigChange function accepts configuration parameter changes without any validation at enqueue time. Invalid parameter values are only validated during the callback execution in _applyPendingConfigChanges(), where they are silently ignored rather than rejected. This creates a scenario where administrators can unknowingly submit incorrect values that either fail silently or cause unintended protocol behavior.

The following steps demonstrate the issue:

  1. Admin submits a config change with an invalid value (e.g., price below minimum bounds)
  2. The enqueueConfigChange function accepts this value without validation
  3. During the next VRF callback, the invalid value is silently ignored in the setter function
  4. The admin believes the change was applied but the protocol continues with old values
  5. This creates a mismatch between expected and actual protocol configuration
03Section · Recommendation

Recommendation

  1. Implement validation in enqueueConfigChange: Add input validation that reverts immediately for invalid parameter values, providing clear feedback to administrators.

  2. Add parameter bounds documentation: Clearly document acceptable ranges for all configurable parameters.

04Section · Resolution

Resolution

Golden Grid: Confirmed.

Zealynx: Fixed.

Status
Fixed
F-2025-0006

oog
zealynx

Smart Contract Security Digest

Monthly exploit breakdowns, audit checklists, and DeFi security research — straight to your inbox

© 2026 Zealynx