Skip to content

Track host support for trusted forwarded management URL origins #244

Description

@andystaples

Summary

Track the Durable Functions extension change required before azure-functions-durable 2.x can safely honor Forwarded and X-Forwarded-* headers when constructing HTTP management payload URLs.

Background

PR #237 adds canonical HTTP management URL construction for #233. Forwarded origins must remain disabled by default because adopting request headers without the host's extensions.durableTask.httpSettings.useForwardedHost opt-in can disclose the management system key through an attacker-controlled Location host.

The current Durable extension middleware-passthrough binding serializes httpBaseUrl, maximum gRPC message size, and timeout, but does not serialize useForwardedHost. As a result, Python cannot distinguish a trusted proxy configuration from an untrusted request. The extension change may take months to release and become broadly available.

Required host work

  • Serialize the effective HttpOptions.UseForwardedHost value in the middleware-passthrough durable-client binding payload.
  • Add a host test that verifies the exact emitted JSON for both the default-off and enabled configurations.
  • Release the change through the extension and applicable extension bundles.
  • Enable Python support only when the host-provided opt-in is available, without changing the secure default for older hosts.

Related work

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