Skip to content

fix(proxy): restrict JWT signed urls to the allowed HTTP methods - #3481

Merged
dschmidt merged 1 commit into
mainfrom
fix/proxy-signed-url-methods
Sep 7, 2026
Merged

fix(proxy): restrict JWT signed urls to the allowed HTTP methods#3481
dschmidt merged 1 commit into
mainfrom
fix/proxy-signed-url-methods

Conversation

@dschmidt

@dschmidt dschmidt commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

The proxy verifies JWT signed URLs (oc-jwt-sig) without checking the request method, while the legacy OC-Signature path enforces PRE_SIGNED_URL_ALLOWED_HTTP_METHODS (default GET). A signed download URL handed out via oc:downloadURL or, with #3248, @microsoft.graph.downloadUrl therefore also authenticates PUT, DELETE, MOVE and PROPFIND as the signing user until it expires.

Applies the same allowed-methods check to the JWT path.

@codacy-production

codacy-production Bot commented Sep 7, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Coverage 100.00% diff coverage

Metric Results
Coverage variation Report missing for 81536bb1
Diff coverage 100.00% diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (81536bb) Report Missing Report Missing Report Missing
Head commit (7f7a938) 88333 20803 23.55%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#3481) 9 9 100.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

1 Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@dschmidt
dschmidt marked this pull request as ready for review September 7, 2026 10:09
@dschmidt
dschmidt force-pushed the fix/proxy-signed-url-methods branch from fe12eea to 7f7a938 Compare September 7, 2026 11:00
The legacy OC-Signature path already rejects methods outside
PRE_SIGNED_URL_ALLOWED_HTTP_METHODS, the JWT path did not. A leaked
signed download url could be used for PUT, DELETE, MOVE or PROPFIND
as the signing user for the lifetime of the signature.
@dschmidt
dschmidt enabled auto-merge September 7, 2026 11:51
@dschmidt
dschmidt merged commit d6c6b6f into main Sep 7, 2026
42 of 66 checks passed
@dschmidt
dschmidt deleted the fix/proxy-signed-url-methods branch September 7, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants