Ticket #6642 (closed defect (bug): fixed)
Commenters can break page validation via HTML comments
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | 2.6.1 |
| Component: | General | Version: | 2.6 |
| Severity: | normal | Keywords: | has-patch 2nd-opinion |
| Cc: |
Description
As per http://www.w3.org/TR/REC-xml/#sec-comments, XML does not like two dashes (--) in comments, nor does it like comments ending in --->. This should be fixed in kses
Attachments
Change History
-
attachment
bug6642.patch
added
comment:2
Viper007Bond — 4 years ago
wptexturize() converts a double dash into –, so no problems there.
Can you clarify this? When is wptexturize() called? Is this something that has changed since WP 2.3.3?
comment:4
Viper007Bond — 4 years ago
- Status changed from new to closed
- Resolution set to worksforme
- Milestone 2.7 deleted
No, wptexturize() has been around since at least version 1.5. All comments and posts are run through it by default before being displayed.
Log out and make a comment like this on your blog:
This is a -- test comment over here --->
It will display at this valid XHTML:
This is a — test comment over here —>
Closing as worksforme.
comment:5
Viper007Bond — 4 years ago
Oh, and to answer your "When is wptexturize() called?" question, look at /wp-includes/default-filters.php. You'll find this line in it:
add_filter('comment_text', 'wptexturize');
Actually I had already confirmed this was indeed a problem - someone was logged out and made the following comment on my WP 2.3.3 blog:
Comment: <!-- foo -- bar -->
And it resulted in a Yellow Page of Death when rendered as XHTML. That's why I dug through and came up with this 2-line patch for kses.
Note that the comment stays hidden i.e. it actually stays a HTML comment it doesn't get escaped to be
Comment: <!-- foo -- bar -->
I do not have the "WordPress should correct invalidly nested XHTML automatically" checkbox checked (Options > Writing). Can you describe the settings on your blog that relate to translating markup?
comment:7
Viper007Bond — 4 years ago
- Keywords needs-patch added; xhtml, kses removed
- Status changed from closed to reopened
- Version set to 2.5
- Resolution worksforme deleted
- Milestone set to 2.7
Okay, well that's an entirely different issue. ;)
Confirmed that no-access users can post HTML comments, something that they shouldn't be able to do IMO. It's specifically allowed in the code though, so then I guess we should just make sure it doesn't break validation.
comment:8
Viper007Bond — 4 years ago
- Summary changed from kses should not allow multiple hyphens in comments to Commenters can break page validation via HTML comments
Ok, thanks - I should have clarified between the two different types of comments ;)
I did attach a patch for this bug - does it need to get reviewed or something? (Just curious about your addition of the 'needs-patch' keyword)
comment:10
in reply to:
↑ 9
Viper007Bond — 4 years ago
- Keywords has-patch 2nd-opinion added; needs-patch removed
Replying to schiller:
I did attach a patch for this bug - does it need to get reviewed or something? (Just curious about your addition of the 'needs-patch' keyword)
Sorry, force of habit and I thought your patch merely removed all double dashes. It was in the wee hours of the morning and I didn't realize your patch was specifically targeted at HTML comments. My apologies.
Switched to the "has-patch" tag. :)
comment:11
azaozz — 4 years ago
- Status changed from reopened to closed
- Resolution set to fixed
comment:12
azaozz — 4 years ago
- Status changed from closed to reopened
- Resolution fixed deleted
- Milestone changed from 2.7 to 2.6.1
Re-open for 2.6.1
comment:13
azaozz — 4 years ago
- Status changed from reopened to closed
- Resolution set to fixed
comment:14
codedread — 2 years ago
- Status changed from closed to reopened
- Version changed from 2.5 to 2.9.1
- Resolution fixed deleted
This appears broken again in WP 2.9.1 (though I did verify my fix appears in kses.php still). No idea why it's happening.
comment:15
nacin — 2 years ago
- Status changed from reopened to closed
- Version changed from 2.9.1 to 2.6
- Resolution set to fixed
Since this ticket was marked as fixed for a shipped milestone, please open a new ticket and reference this one.

Patch for kses, prevents adjacent hyphens in a HTML/XML comment