Dapr
v1.19.1Orchestration & ManagementA security-focused maintenance release tightens access control and isolation, fixes denial-of-service and crash paths, and changes enforcement on public endpoints and gRPC metadata limits. It also includes routine dependency and connection-handling fixes.
Action needed (6)
securityLocal-app restriction for the internal gRPC proxy
On the internal port, the gRPC proxy serves only calls addressed to the local app and returns
PermissionDeniedfor other targets.security
id_prefix_matchfor actor reminder IDsThe Scheduler now terminates the key prefix for job targets with the delimiter, so
id_prefix_matchapplies only to actor reminder IDs as documented.security
Sentryallowed-host validationSentrynow accepts only a host with an optional numeric port, without user info, path, query, or fragment. The host, or host and port, must be in the allowed hosts list; otherwiseSentryreturns403.securityNo-store caching for
Sentrydiscovery documentsA discovery document built from the request host is now sent with
Cache-Control: no-store.securitygRPC request-header limit from
--read-buffer-sizeThe gRPC API server and internal gRPC server limit request headers to the configured
--read-buffer-sizevalue, with a minimum of 64 KiB. Thedapr.setting is also covered.io/read-buffer-size securityConstant-time API token comparison
HTTP and gRPC API token checks now use constant-time comparison.
Check if affected (6)
securitymediumGHSA-59m6-82qm-vqgj API token path matching
Applies if you configure
DAPR_API_TOKEN.GHSA-59m6-82qm-vqgj fixes API token checks for percent-encoded health check paths by comparing the escaped path matched by the router. A configured
DAPR_API_TOKENis now required for those paths.securityHTTP service invocation access control
Applies if you use HTTP apps.
HTTP service invocation access control now matches policies against the decoded, lowercased method used by the application route.
security
WatchJobsaccess to internal actor typesApplies if you use
WatchJobs.The Scheduler rejects a
WatchJobsstream withPermissionDeniedwhen it declares or limits concurrency for an internal actor type such asdapr.that belongs to another app or namespace.internal. * securityPublic-port removal of
PUT /v1.0/metadata/{key} Applies if you use
PUT /v1..0/metadata/{key} PUT /v1.on the public port now returns0/metadata/{key} 404. The endpoint is available on the Dapr HTTP API port instead.security
primaryEncryptionKeydecryption panicApplies if you configure
primaryEncryptionKey.A stored
primaryEncryptionKeyvalue no longer causes Dapr to panic during decryption.securityTransactional outbox marker-key and message validation
Applies if you use the transactional outbox.
The transactional outbox now accepts only the outbox marker keys it creates, such as
outbox-<uuid>. A message withoutdatacontenttypeno longer causes Dapr to panic.
All 3 other recorded changessecurity fixes 1 · fixes 1 · value changes 1
security fixes (1)
- For HTTP apps, the access control check now always uses the HTTP verb from the request, the same verb that is sent to the app.
fixes (1)
- The sidecar closes the connection when opening the stream fails, and closes it when the stream ends.
value changes (1)
- Dapr now uses
modernc.v1.42.2.org/sqlite
A weekly email arrives when a release needs action. Like the security patches in this release.