<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ticket search results</title><link>https://forge-allura.apache.org/p/allura/tickets/</link><description>You searched for labels:"security"</description><language>en</language><lastBuildDate>Mon, 10 Jun 2024 15:31:45 -0000</lastBuildDate><item><title>set up github codeql</title><link>https://forge-allura.apache.org/p/allura/tickets/8534/</link><description>Our repo gets mirrored to https://github.com/apache/allura/ so we can set up CodeQL to run there and check for security issues in code</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 10 Jun 2024 15:31:45 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8534/</guid></item><item><title>improve session cookie handling NEEDS CONFIG CHANGES</title><link>https://forge-allura.apache.org/p/allura/tickets/8526/</link><description>Main thing is to move away from pickle, but we can also implement stronger keys, support key rotation, etc.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 10 Jun 2024 15:31:45 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8526/</guid></item><item><title>Generic search doesn't do permission checks</title><link>https://forge-allura.apache.org/p/allura/tickets/8335/</link><description>The search tool for project-wide search or generic tool searching (not specialized search handlers like ticket search) doesn't do permission checks and may expose some snippets of information.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 07 Oct 2019 15:58:37 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8335/</guid></item><item><title>Escape html on wiki &amp; blog diff views</title><link>https://forge-allura.apache.org/p/allura/tickets/8255/</link><description>The code that generates diffs for the revision history viewing on blog posts &amp; wiki pages, does not escape HTML.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Tue, 30 Oct 2018 14:21:22 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8255/</guid></item><item><title>HTTP response splitting vulnerability on return_to param CVE-2018-1319</title><link>https://forge-allura.apache.org/p/allura/tickets/8190/</link><description>From a security reporter:

------

Summary:
To trigger the vulnerability, an attacker would send a malicious
"/auth" URL to the victim.
The victim would access said URL, and login successfully.
The server would then respond with any HTTP headers the attacker
supplied in the malicious URL.
Please note that the URL points to the real Allura server, and
contains control characters (%0d%0a) in the return_to URL parameter.

PoC URLs:
http://&lt;allura-web-server&gt;/auth/?return_to=/%0d%0aSet-Cookie:%20%3Bmy-cookie-field%3Dfoobar%3B
http://&lt;allura-web-server&gt;/auth/?return_to=/%0d%0aContent-Length:%20777

The first URL will set the attacker-supplied cookie
(my-cookie-field=foobar) to the victim's session.
The second URL will make the server respond with a content length of
777, which will force the victim's browser to abort the rendering of
the page, since 777 will not match with the real content length.

----------

`return_to` is used in many places, any of which could sanitize it.  Seems like `authenticate_request` and `LoginRedirectMiddleware` and `do_login` and `do_multifactor` have the `redirect()` calls that are the critical spots though.  `_verify_return_to` usage could be expanded.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 15 Mar 2018 18:55:09 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8190/</guid></item><item><title>StaticFilesMiddleware allows directory traversal</title><link>https://forge-allura.apache.org/p/allura/tickets/8180/</link><description>From reporter:

&gt; The vulnerability allows unauthenticated attackers to retrieve
&gt; arbitrary files from the Allura web server.
&gt; 
&gt; PoC URsL:
&gt; http://&lt;allura-web-server&gt;/nf/1276635823/_static_/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd
&gt; http://&lt;allura-web-server&gt;/nf/1276635823/_static_/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fhostname

-----

The %2F does't seem necessary in my testing.  The paster, nginx and apache/mod_wsgi servers seem to protect against this, but gunicorn (which we recommend for production) permits the vulnerability.

This has been assigned CVE-2018-1299
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Tue, 06 Feb 2018 17:55:38 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8180/</guid></item><item><title>Stronger no-cache headers</title><link>https://forge-allura.apache.org/p/allura/tickets/8153/</link><description>If you're logged in and then log out, hitting the back button will still show the previous page(s) potentially with private info on them.

Pylons defaults to `Cache-Control: no-cache` header, but that isn't always enough and there are a lot more caching directives that can be included in there.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Tue, 27 Jun 2017 17:46:10 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8153/</guid></item><item><title>After password change, change current session id</title><link>https://forge-allura.apache.org/p/allura/tickets/8140/</link><description>Password changes invalidate all other sessions, but we should also cycle the current session's id.  This will protect against the possibility of someone intercepting session cookies and then you change your password on the current session, so their copy of the cookies will no longer work.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Tue, 13 Dec 2016 16:33:16 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8140/</guid></item><item><title>Fix how we write the .google_authenticator file</title><link>https://forge-allura.apache.org/p/allura/tickets/8127/</link><description>The google authenticator PAM module will write the `.google_authenticator` files with permission `400 (-r--------)` and then Allura can't write to it.  We also need to write it with `400` or `600` perms, so it is secure for PAM to use it afterwards.  And best to do it atomically, with a file rename operation.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 15 Sep 2016 14:28:49 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8127/</guid></item><item><title>Rate limiting for two-factor auth</title><link>https://forge-allura.apache.org/p/allura/tickets/8126/</link><description>The google PAM module supports it, for reference: https://github.com/google/google-authenticator/blob/master/libpam/FILEFORMAT#L31</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Wed, 14 Dec 2016 16:59:09 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8126/</guid></item><item><title>Require password when confirming new email address</title><link>https://forge-allura.apache.org/p/allura/tickets/8125/</link><description>We should require a valid login session when opening an email verification link.  This avoids the security risk of typos on new email addresses that could potentially let someone else take over your account.
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Wed, 14 Dec 2016 16:59:08 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8125/</guid></item><item><title>Show security / audit log to users</title><link>https://forge-allura.apache.org/p/allura/tickets/8121/</link><description>Right now we have a project audit log which is available to project admins, and a user audit log which is available only to site admins.

We should have an audit log for users to see about themselves, so they can verify login attempts, account setting changes, etc.  Many existing audit log entries could be re-used, but we'll also need new ones and modified versions of some, I think.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Sat, 27 Aug 2016 19:47:00 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8121/</guid></item><item><title>U2F for multifactor auth</title><link>https://forge-allura.apache.org/p/allura/tickets/8119/</link><description>As an additional 2FA option, implement support for U2F.  Some details at http://mail-archives.apache.org/mod_mbox/allura-dev/201608.mbox/%3C28c7a399-86c5-5d75-dde4-2ab54fe7b3e4%40brondsema.net%3E</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 12 Sep 2016 21:16:39 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8119/</guid></item><item><title>2FA recovery codes</title><link>https://forge-allura.apache.org/p/allura/tickets/8118/</link><description>Implement recovery codes as an option when your 2FA device isn't available</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Wed, 14 Dec 2016 16:59:08 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8118/</guid></item><item><title>Implement core 2FA</title><link>https://forge-allura.apache.org/p/allura/tickets/8117/</link><description>This ticket is for the essential functionality for TOTP 2FA, separate tickets for other aspects

Some details at http://mail-archives.apache.org/mod_mbox/allura-dev/201608.mbox/%3C28c7a399-86c5-5d75-dde4-2ab54fe7b3e4%40brondsema.net%3E</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Wed, 14 Dec 2016 16:59:07 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8117/</guid></item><item><title>Served SVG images can execute JS</title><link>https://forge-allura.apache.org/p/allura/tickets/8011/</link><description>Since the SVG mime type (`image/svg+xml`) starts with `image/`, the `AttachmentController` lets it be displayed in the browser rather than download.  However, SVGs can contain javascript and other insecure components.

https://www.hackinparis.com/slides/hip2k11/09-TheForbiddenImage.pdf
https://www.w3.org/wiki/SVG_Security</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 02 Nov 2015 15:09:01 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8011/</guid></item><item><title>XSS vulnerability in link rewriting</title><link>https://forge-allura.apache.org/p/allura/tickets/7947/</link><description>HTML like `[xss](http://"&gt;&lt;a onmouseover=prompt(document.domain)&gt;xss&lt;/a&gt;)` or like `'[xss](http://"&gt;&lt;img src=x onerror=alert(document.cookie)&gt;)'` will end up getting parsed incorrectly and the embedded JS will run.

I've isolated this to the `RelativeLinkRewriter` class and how it uses BeautifulSoup doesn't handle the incoming HTML (which is like `&lt;a class="" href='http://"&gt;&lt;img src=x onerror=alert(document.cookie)&gt;'&gt;xss&lt;/a&gt;` at this point).  BeautifulSoup 4 does handle that correctly.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 10 Aug 2015 14:28:41 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/7947/</guid></item><item><title>In project admin - user permissions, removing a custom group needs to use POST</title><link>https://forge-allura.apache.org/p/allura/tickets/7942/</link><description>Right now it uses GET, and is vulnerable to CSRF.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 10 Aug 2015 14:28:32 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/7942/</guid></item><item><title>CSRF checks don't work on login</title><link>https://forge-allura.apache.org/p/allura/tickets/7893/</link><description>`CSRFMiddleware` deletes all cookies (including login session) if CSRF checks fail.  However that doesn't stop a forged login since there isn't a session cookie yet anyway.  The login continues and you are logged in.

Also we have no tests for CSRF functionality.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:06:09 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/7893/</guid></item><item><title>Changing password should invalidate other sessions</title><link>https://forge-allura.apache.org/p/allura/tickets/7799/</link><description>When you change your password, any other sessions should get logged out.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:00 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/7799/</guid></item></channel></rss>