mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-17 21:52:42 -05:00
URL redirect may cause security problem #2703
Closed
opened 2025-11-02 04:45:00 -06:00 by GiteaMirror
·
18 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
No Label
type/bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#2703
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @misterpoesy on GitHub (Jan 4, 2019).
[x]):Description
try this url:
curl -I http://mygitserver:3000//google.com/..HTTP response header:
response body:
<a href="//google.com/../">Found</a>.I can redirect to google.com through mygitserver:3000. This is dangerous!
Can any configuration prohibit this problem?
Screenshots
@0x5c commented on GitHub (Jan 4, 2019):
It would probably be of more usefulness if your config (the relevant parts) was included
@zeripath commented on GitHub (Jan 5, 2019):
Hmm... This doesn't happen on try.gitea.io which is on master.
I'll check out a 1.6 version tomorrow. Could you check from your end too and take a look at the git log between since 1.6 to see if there's an obvious commit that would fix this. In any case, Version 1.6.3 is the now the mainline version for gitea 1.6 and I'd really recommend updating to it - especially if you allow auto sign-up and repository creation.
As an aside I'm not sure that it's really normal practice to put links in http 302s though - so that might need to be changed.
@0x5c commented on GitHub (Jan 6, 2019):
Giving a link in a 302 response is the required behaviour according to the RFC
https://tools.ietf.org/html/rfc7231#section-6.4.3
@zeripath commented on GitHub (Jan 6, 2019):
I meant that the body of the response contains an HTML link - rather than being empty or containing the word Found
@0x5c commented on GitHub (Jan 6, 2019):
Oh right, does not seems good indeed.
@zeripath commented on GitHub (Jan 6, 2019):
OK, running v1.6.1 on my box I can't replicate this issue immediately OOTB. What are your settings in app.ini ? Are you running over ssl? Are you using REDIRECT_OTHER_PORT?
@misterpoesy commented on GitHub (Jan 8, 2019):
this is my log of version info:
request log:
I try this request in Google Chrome, IE, Edge, it finally redirect to
http://mygitserver:3000//, but in firefox, it really redirect to google.com.EDIT:
my configuration:
@0x5c commented on GitHub (Jan 8, 2019):
I just tested your original
curlexample on my instance, and I get a 404Edit:
My Gitea instance is running
30560b0(1.6.3), on Docker:1My box on which I used
curlis running Ubuntu 16.04@misterpoesy commented on GitHub (Jan 8, 2019):
@0x5c
you should add
..after//google.com/. Try thiscurl -I https://domain.tld//google.com/..@0x5c commented on GitHub (Jan 8, 2019):
I also tried with the dots, which got the server to respond according to the standards:
Considering the
..as the parent of thegoogle.com/directory, which happens to be/, which exists, thus responding with a 200 and serving the welcome page.@misterpoesy commented on GitHub (Jan 8, 2019):
I just downloaded the latest release from https://github.com/go-gitea/gitea/releases/download/v1.6.3/gitea-1.6.3-windows-4.0-amd64.exe, and run in empty folder.
I tested in three machine. Window 10 Professional is OK, but Windows 7 and Windows Server 20008 R2 still exist.
Win 7 & 2008R2:


Windows 10 Professional:


@0x5c commented on GitHub (Jan 8, 2019):
That's weird
@zeripath commented on GitHub (Jan 8, 2019):
Ok. Two things come to mind:
I guess we just need to look at the redirects in the code and check em
@0x5c commented on GitHub (Jan 8, 2019):
Okay, I was finally able to reproduce it in linux, using
curl -I --path-as-is.However, it does not reproduce when testing against a
latesthost, like try.gitea.io.@misterpoesy commented on GitHub (Jan 8, 2019):
I test again, after installation and creating an admin user. the problem still not solved.
Maybe the only solution is migrating to linux. - -b, with 50GB repositories 😭
@0x5c commented on GitHub (Jan 8, 2019):
My linux install displays the same behaviour
But try.gitea.io, which runs on the latest commit, is not
@zeripath commented on GitHub (Jan 8, 2019):
We just need to find out which redirect is causing the problem. Do the v1.7 RCs have the redirect issue you've found? I'd check myself but I'm not at a dev box today.
@zeripath commented on GitHub (Jan 8, 2019):
OK, I've found where the redirect is being sent.