mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-22 14:34:54 -05:00
[Bug] Markdown #4876
Closed
opened 2025-11-02 06:05:47 -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
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#4876
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 @TimerWolf on GitHub (Feb 18, 2020).
[x]):Description
I think that this and the broken feature is called markdown, and if you use it this way as i do under this text it will break, for some reason it don't here at github :)
If the link provided not working, just use the code that i used here!
Example
@jolheiser commented on GitHub (Feb 18, 2020):
The markdown parser we use must not allow
>in link titles. (<also aren't allowed, nor are most symbols from what I could tell)My best guess is it's to block users from breaking out of the rendered HTML tag and insert potentially malicious elements.
@zeripath commented on GitHub (Feb 18, 2020):
Have you tried & g t ; ?
@lafriks commented on GitHub (Feb 18, 2020):
To be honest I don't see difference between github and gitea rendered tables 🤔
@TimerWolf commented on GitHub (Feb 18, 2020):
Maybe that's the case but why would it be allowed here on github then?
That did not work ether, but it works here on github as well.
The broken one don´t show you the tooltip in "try.gitea.io" when you hover over it.
@jolheiser commented on GitHub (Feb 18, 2020):
GH uses a different parser than us, more than likely. I haven't had a chance to look for a possible config option, but my guess is we would need to extend our parser for this to work.
@guillep2k commented on GitHub (Feb 18, 2020):
It took me a while to understand the problem 😁. For reference:
GitHub, mouse hover on first item:
GitHub, mouse hover on second item:
Gitea, mouse hover on first item:
Gitea, mouse hover on second item:
@TimerWolf since we can't access the exact markdown code you've used, would you paste it here in a code block?
@jolheiser commented on GitHub (Feb 18, 2020):
@guillep2k
Essentially this is exploiting link titles for hovering purposes.
I'm trying to look through goldmark to see where this is processed, but it's admittedly slow going at the moment.
@guillep2k commented on GitHub (Feb 18, 2020):
No luck. The parser won't even take
<(Unicode U+FF1C - FULLWIDTH LESS-THAN SIGN). As far as I can tell, no symbol outside a small subset will be accepted.*,$and#are rejected, accented characters (á) and comma (,) seem OK, but colon, semicolon and ampersand are out of the question.@jolheiser commented on GitHub (Feb 18, 2020):
This looks like an upstream bug, possibly?
It should be allowed per CommonMark spec (Example 502).
@TimerWolf commented on GitHub (Feb 18, 2020):
@guillep2k: thanks for straight that things out for me, for some reason when i do stuff it always end up that people don't understand what i mean.
I don't know why as i was quite clear to me as i did change the code to "hover -> here" and also actually have the "status" indicator, but thanks again and sorry if anyone if it was a bit unclear.
The code is back to it's original i was never suppose to change not sure why i accepted that change, it was only suppose to be a preview test that @zeripath suggested...
@jolheiser: i like to use the hover for this purpose when it's a lot of text that should fit in and in the same time not break the table, like descriptions.
@mrsdizzie commented on GitHub (Feb 19, 2020):
This comes from default bluemonday policy and not goldmark:
dc822d5291/vendor/github.com/microcosm-cc/bluemonday/helpers.go (L109-L112)Then enabled for title here:
dc822d5291/vendor/github.com/microcosm-cc/bluemonday/helpers.go (L162-L163)If we did want to overide it and allow a closing tag for link titles we could use this in https://github.com/go-gitea/gitea/blob/master/modules/markup/sanitizer.go,
Which in testing would output:
Which seems fine in that example. I believe. You can see it currently doesn't allow other characters as well (pretty much anything that isn't a word number and those few punctuations listed)
@jolheiser commented on GitHub (Feb 19, 2020):
Shoot, I thought I tested it well enough locally. Good catch @mrsdizzie!
@mrsdizzie commented on GitHub (Feb 19, 2020):
@jolheiser Does that seem like something we should change you think?
@jolheiser commented on GitHub (Feb 19, 2020):
It seems that would solve this particular issue, but I'm not sure if there would be other unintended effects. Based on the comment in the bluemonday excerpt, it seems like
>was left out intentionally.If you test with that sanitizer, can you escape titles using raw html?
@mrsdizzie commented on GitHub (Feb 19, 2020):
Hmm seems fine in my probably limited testing
@jolheiser commented on GitHub (Feb 19, 2020):
As mentioned above, this is because of our sanitizer, not goldmark.
@mrsdizzie would you mind opening a PR? We can discuss whether we should include more symbols there?
I'm still cautious because bluemonday specifically mentions blocking
>@mrsdizzie commented on GitHub (Feb 19, 2020):
@jolheiser opened PR for further discussion
@lafriks commented on GitHub (Mar 15, 2020):
Fixed by #10527 if not please reopen