—–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA256
- From the period between January 18 2016 to February 24 2016, 8chan received 0 requests from US government agencies.
8chan complied with 2 DMCA requests during the period between January 18 2016 to February 24 2016. https://8ch.net/dmca/res/3.html#19 https://8ch.net/dmca/res/3.html#20
8chan neither received nor complied with any requests from foreign (non-American) governments.
8chan's warrant canary has not expired and is being monitored by the EFF at https://canarywatch.org/8chan/.
On February 23 and February 24 2016, bugs in the CSS parser were found and disclosed by the board owner of 8ch.net/ips. This caused users of that board to access a server being run by the board creator. This only affected boards where board owners willfully added the malicious CSS.
This caused a bit of back and forth with the guy who found it. The first way he got around the URL block was to add a CSS escape sequence \002f (/) which the parser was not aware of. This was patched by disallowing escape sequences.
/ips/ countered with @import, and then a data: URL of type text/css, base64 encoded to get around the URL filter. This was patched by disallowing imports.
/ips/ countered _AGAIN_ with a data URL which set an SVG file as the background. The SVG file then loaded an external image, as per the SVG standard, which triggered the server access.
The SVG finally put a stop to any hopes of CSS parsing itself being able to stop this. What would need to happen to stop this would be to (1) evaluate all data URLs (2) request all data URLs server side (3) parse SVGs server side for outside links, making sure to ignore w3c.org defs… I decided to admit defeat here and just go for a content-security-policy, because I also want to allow sites like COCAINE.NINJA, 0X0.ST and MY.MIXTAPE.MOE, which allow uploading of all filetypes for stylesheets.
The W3C Content-Security-Policy standard is supported in Firefox, Chrome MS Edge, IE 11. It allows webmasters to specify explicitly which domains are allowed for cross-server requests, preventing this type of IP farming by board owners once and for all. As an added bonus, it makes us mostly immune to unforeseen XSS attacks, such as the <8chan.pw> XSS in YouTube embeds circa April 2015.
Unfortunately, while implementing CSP, I did not notice that allowing 'self' does not allow data URLs, which are used by CAPTCHAs. This caused CAPTCHAs to not work for around 12 hours bcause I went to bed after I thought the bug was fixed. CAPTCHAs and user JS is now working with Content-Security-Policy, so for your protection you should re-enable it in your browser. Sites other than 8chan rely on it.
—–BEGIN PGP SIGNATURE—–
Version: GnuPG v1
iQIcBAEBCAAGBQJWzUOVAAoJEBDdyYOQGqGDRLQP/i7ssiZSmXsOL6v3uDR8SeC1
kNL6rsFS5+2hJX3I0jwev8lLG/UDb27wFl+31+TakhZsGWEPmjoKZ+QNtk/VRsr1
EXvnMqtvuRmWHY3BNEssfaE7yF8PwVsC+XmksWWYcTtP1fk6KtuJkGSjUvVPKC5x
/7weeaW5NvVBPMQF7eaJeWJ/GtUrcdkY6xVY98Rtsz98oTuHH4j6wiYk3ov+E8yM
zK1pO+ZjH1x6BxtCWYCaeZwL4HyilSGeRNirzuo7koTpVraIq8sjlSjtUCiNwY3T
5fI7I8KQxGEu7HA2wLApKAxof2SseT7CoVIa7r1kjEBQcojmZ3eLWg8BApykybfa
pmwrBoTyAgA47txJ7Cm9lmrIVtUc55WLnKxxBnb1EaQ9L2JmDeHA2arT3W7I8RE4
5FsPZznYrH551UMInpLRogoZ4uh7amKSh0Lr4mNNW7MKjORDStG4QFpmV3B82vLy
AtfV+/uE4bd9UO2e2GCEejPVmGPxbh9VsiaF6Jo9SqTuA+zYJmIVRqT87bwEAviO
zAjb+FEVMUifGn+rRJUpKEBjM3GP69ZJcuWN71jZpavqQAvg0fCCyiS4y87x0Kkk
StoUAJOJXT6ApA2eZ3Q0xnd7OYcq7l6/fvJV8wLda5kUz95vnF0Q4bxue1HT76hT
yCimZG69hBs3H/Kjz/1s
=O3RX
—–END PGP SIGNATURE—–