-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support allowed hosts for webhook to work with proxy #27655
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
wolfogre
added
type/bug
topic/security
Something leaks user information or is otherwise vulnerable. Should be fixed!
backport/v1.20
This PR should be backported to Gitea 1.20
backport/v1.21
This PR should be backported to Gitea 1.21
labels
Oct 17, 2023
GiteaBot
added
the
lgtm/need 2
This PR needs two approvals by maintainers to be considered for merging.
label
Oct 17, 2023
pull-request-size
bot
added
the
size/S
Denotes a PR that changes 10-29 lines, ignoring generated files.
label
Oct 17, 2023
lunny
approved these changes
Oct 17, 2023
GiteaBot
added
lgtm/need 1
This PR needs approval from one additional maintainer to be merged.
and removed
lgtm/need 2
This PR needs two approvals by maintainers to be considered for merging.
labels
Oct 17, 2023
pull-request-size
bot
added
size/M
Denotes a PR that changes 30-99 lines, ignoring generated files.
and removed
size/S
Denotes a PR that changes 10-29 lines, ignoring generated files.
labels
Oct 17, 2023
appleboy
approved these changes
Oct 18, 2023
GiteaBot
added
lgtm/done
This PR has enough approvals to get merged. There are no important open reservations anymore.
and removed
lgtm/need 1
This PR needs approval from one additional maintainer to be merged.
labels
Oct 18, 2023
lunny
added
the
reviewed/wait-merge
This pull request is part of the merge queue. It will be merged soon.
label
Oct 18, 2023
GiteaBot
pushed a commit
to GiteaBot/gitea
that referenced
this pull request
Oct 18, 2023
When `webhook.PROXY_URL` has been set, the old code will check if the proxy host is in `ALLOWED_HOST_LIST` or reject requests through the proxy. It requires users to add the proxy host to `ALLOWED_HOST_LIST`. However, it actually allows all requests to any port on the host, when the proxy host is probably an internal address. But things may be even worse. `ALLOWED_HOST_LIST` doesn't really work when requests are sent to the allowed proxy, and the proxy could forward them to any hosts. This PR fixes it by: - If the proxy has been set, always allow connectioins to the host and port. - Check `ALLOWED_HOST_LIST` before forwarding.
GiteaBot
pushed a commit
to GiteaBot/gitea
that referenced
this pull request
Oct 18, 2023
When `webhook.PROXY_URL` has been set, the old code will check if the proxy host is in `ALLOWED_HOST_LIST` or reject requests through the proxy. It requires users to add the proxy host to `ALLOWED_HOST_LIST`. However, it actually allows all requests to any port on the host, when the proxy host is probably an internal address. But things may be even worse. `ALLOWED_HOST_LIST` doesn't really work when requests are sent to the allowed proxy, and the proxy could forward them to any hosts. This PR fixes it by: - If the proxy has been set, always allow connectioins to the host and port. - Check `ALLOWED_HOST_LIST` before forwarding.
GiteaBot
removed
the
reviewed/wait-merge
This pull request is part of the merge queue. It will be merged soon.
label
Oct 18, 2023
KN4CK3R
pushed a commit
that referenced
this pull request
Oct 18, 2023
Backport #27655 by @wolfogre When `webhook.PROXY_URL` has been set, the old code will check if the proxy host is in `ALLOWED_HOST_LIST` or reject requests through the proxy. It requires users to add the proxy host to `ALLOWED_HOST_LIST`. However, it actually allows all requests to any port on the host, when the proxy host is probably an internal address. But things may be even worse. `ALLOWED_HOST_LIST` doesn't really work when requests are sent to the allowed proxy, and the proxy could forward them to any hosts. This PR fixes it by: - If the proxy has been set, always allow connectioins to the host and port. - Check `ALLOWED_HOST_LIST` before forwarding. Co-authored-by: Jason Song <[email protected]>
KN4CK3R
pushed a commit
that referenced
this pull request
Oct 18, 2023
Backport #27655 by @wolfogre When `webhook.PROXY_URL` has been set, the old code will check if the proxy host is in `ALLOWED_HOST_LIST` or reject requests through the proxy. It requires users to add the proxy host to `ALLOWED_HOST_LIST`. However, it actually allows all requests to any port on the host, when the proxy host is probably an internal address. But things may be even worse. `ALLOWED_HOST_LIST` doesn't really work when requests are sent to the allowed proxy, and the proxy could forward them to any hosts. This PR fixes it by: - If the proxy has been set, always allow connectioins to the host and port. - Check `ALLOWED_HOST_LIST` before forwarding. Co-authored-by: Jason Song <[email protected]>
I was unable to create a backport for 1.20. @wolfogre, please send one manually. 🍵
|
GiteaBot
added
the
backport/manual
No power to the bots! Create your backport yourself!
label
Oct 18, 2023
I was unable to create a backport for 1.21. @wolfogre, please send one manually. 🍵
|
wolfogre
added
backport/done
All backports for this PR have been created
and removed
backport/manual
No power to the bots! Create your backport yourself!
labels
Oct 19, 2023
zjjhot
added a commit
to zjjhot/gitea
that referenced
this pull request
Oct 19, 2023
* giteaofficial/main: [skip ci] Updated translations via Crowdin Add link for repositories README file (go-gitea#27684) Fix typo "GetLatestRunnerToken" (go-gitea#27680) Clipboard copy enhancements (go-gitea#27669) Remove unnecessary parameter (go-gitea#27671) Always delete existing scheduled action tasks (go-gitea#27662) Support allowed hosts for webhook to work with proxy (go-gitea#27655)
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
backport/done
All backports for this PR have been created
backport/v1.20
This PR should be backported to Gitea 1.20
backport/v1.21
This PR should be backported to Gitea 1.21
lgtm/done
This PR has enough approvals to get merged. There are no important open reservations anymore.
size/M
Denotes a PR that changes 30-99 lines, ignoring generated files.
topic/security
Something leaks user information or is otherwise vulnerable. Should be fixed!
type/bug
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When
webhook.PROXY_URL
has been set, the old code will check if the proxy host is inALLOWED_HOST_LIST
or reject requests through the proxy. It requires users to add the proxy host toALLOWED_HOST_LIST
. However, it actually allows all requests to any port on the host, when the proxy host is probably an internal address.But things may be even worse.
ALLOWED_HOST_LIST
doesn't really work when requests are sent to the allowed proxy, and the proxy could forward them to any hosts.This PR fixes it by:
ALLOWED_HOST_LIST
before forwarding.