Skip to content

1.7.6, 1.7.7 TOCTOU issue when skipping evaluation for NOT_READY / FATAL status #369

Description

@dd-oleksii

From the spec:

Requirement 1.7.6

The client MUST default, run error hooks, and indicate an error if flag resolution is attempted while the provider is in NOT_READY.

Requirement 1.7.7

The client MUST default, run error hooks, and indicate an error if flag resolution is attempted while the provider is in FATAL.

These may lead to TOCTOU issue in multi-threaded SDKs because provider status may change between the client checking the status and attempting (or not attempting) evaluation.

It should be rather simple to fix the issue by dropping the requirements, and it shouldn't cause much trouble.

Another argument for dropping these requirements is that some providers do want to be called at all times (e.g. for telemetry logging).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions