Re: Changing the httpd security process
++1. I was never quite happy with this process, but it seemed like there was a lot of support for this kind of treatment. > On Aug 17, 2020, at 7:08 AM, Joe Orton wrote: > > > This roughly reverts the httpd process to what we used prior to adopting > the Tomcat-esque policy for the whole ASF. We would have to document > this and possibly need it approved by the ASF security team. >
Re: Changing the httpd security process
Wait isn't Mark Cox the guy currently under investigation by MI5 for something something hacking on behalf of the Ministry of State Security for the PRC? Something to do with subverting encryption globally. That's partially why Huawei donated so much to OpenSSL, they get the 0 days seven days in advance. Something to do with this: https://www.openssl.org/blog/blog/2020/05/12/security-prenotifications/ "include the option of us giving prenotification to companies with which we have a commercial relationship" Whitehurst and Cormier are aware of this as the American FBI talked to them last week. On Mon, Aug 17, 2020 at 8:06 AM Mark J. Cox wrote: > > > This roughly reverts the httpd process to what we used prior to > adopting > > > > the Tomcat-esque policy for the whole ASF. We would have to document > > > > this and possibly need it approved by the ASF security team. > > > > > > Not sure if we need to have it approved, but at least we should discuss > with the ASF security team. > > > > https://s.apache.org/cveprocess allows projects to deviate from the > default policy with "review" from the ASF security team. So once you have > agreement have the PMC present the proposed policy. > > > > This is not an uncommon plan, outside of ASF projects such as OpenSSL have > similar policies where lower severity issues (low/moderate) are committed > as security fixes prior to and independently of releases. Dealing with > security issues in private is a pain in both the process and getting the > right fix with limited reviewers. It's worth that pain when the issue is > an actual risk to users, less so for the low risk issues. > > > > Mark > >
Re: Changing the httpd security process
> > This roughly reverts the httpd process to what we used prior to adopting > > the Tomcat-esque policy for the whole ASF. We would have to document > > this and possibly need it approved by the ASF security team. > > Not sure if we need to have it approved, but at least we should discuss with > the ASF security team. https://s.apache.org/cveprocess allows projects to deviate from the default policy with "review" from the ASF security team. So once you have agreement have the PMC present the proposed policy. This is not an uncommon plan, outside of ASF projects such as OpenSSL have similar policies where lower severity issues (low/moderate) are committed as security fixes prior to and independently of releases. Dealing with security issues in private is a pain in both the process and getting the right fix with limited reviewers. It's worth that pain when the issue is an actual risk to users, less so for the low risk issues. Mark
Re: Changing the httpd security process
> This roughly reverts the httpd process to what we used prior to adopting > the Tomcat-esque policy for the whole ASF. We would have to document > this and possibly need it approved by the ASF security team. +1
Re: svn commit: r1870095 - /httpd/httpd/trunk/modules/ssl/ssl_engine_kernel.c
On Mon, Aug 17, 2020 at 02:07:33PM +0200, Ruediger Pluem wrote: > On 11/21/19 4:51 PM, jor...@apache.org wrote: > > Author: jorton > > Date: Thu Nov 21 15:51:32 2019 > > New Revision: 1870095 > > > > URL: http://svn.apache.org/viewvc?rev=1870095=rev ... > > @@ -1132,6 +1144,17 @@ static int ssl_hook_Access_modern(reques > > } > > } > > > > +/* Fill reneg buffer if required. */ > > +if (change_vmode) { > > Why can't we put this block below the > > if (change_vmode) > > a few lines below? Good question, thanks for the review. No good reason, and moving the call after the r->connection->master test is presumably better. Done in r1880927. Regards, Joe
Re: svn commit: r1870095 - /httpd/httpd/trunk/modules/ssl/ssl_engine_kernel.c
On 11/21/19 4:51 PM, jor...@apache.org wrote: > Author: jorton > Date: Thu Nov 21 15:51:32 2019 > New Revision: 1870095 > > URL: http://svn.apache.org/viewvc?rev=1870095=rev > Log: > Buffer HTTP request bodies for TLSv1.3 PHA in the same way as for > TLSv<1.3 renegotiation. > > * modules/ssl/ssl_engine_kernel.c (fill_reneg_buffer): Factor > out... > (ssl_hook_Access_classic): ... from here. > (ssl_hook_Access_modern): Use it here too. > > Github: closes #75 > > Modified: > httpd/httpd/trunk/modules/ssl/ssl_engine_kernel.c > > Modified: httpd/httpd/trunk/modules/ssl/ssl_engine_kernel.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ssl/ssl_engine_kernel.c?rev=1870095=1870094=1870095=diff > == > --- httpd/httpd/trunk/modules/ssl/ssl_engine_kernel.c (original) > +++ httpd/httpd/trunk/modules/ssl/ssl_engine_kernel.c Thu Nov 21 15:51:32 2019 > @@ -1132,6 +1144,17 @@ static int ssl_hook_Access_modern(reques > } > } > > +/* Fill reneg buffer if required. */ > +if (change_vmode) { Why can't we put this block below the if (change_vmode) a few lines below? > +rc = fill_reneg_buffer(r, dc); > +if (rc) { > +ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO() > + "could not buffer message body to allow " > + "TLS Post-Handshake Authentication to > proceed"); > +return rc; > +} > +} > + > if (change_vmode) { > char peekbuf[1]; Regards Rüdiger
Re: Changing the httpd security process
On 8/17/20 1:08 PM, Joe Orton wrote: > At the moment we follow the standard ASF process for handling security > vulnerabilities, https://www.apache.org/security/committers.html > > This includes the following step where fixes are committed with > "obscured" commit messages prior to release: > > "12. The project team commits the fix. No reference should be made to the > commit being related to a security vulnerability." > > I find this deeply distateful, and poor practice, for three reasons: > > a) it requires committers to lie (either by omission, or explicitly) > when describing changes in the source code history. If there were an > extremely good justification for lying, say, fixing an embargoed > Critical vulnerability which affects millions of servers, I could live > with it. But we apply this for everything, even trivial Low-severity > vulnerabilities. > > b) it creates a nasty conflict for mod_h2, where Stefan is cutting > mod_h2 releases at github which he knows address vulnerabilities, but is > unable to disclose that until the time of an httpd release. So mod_h2 > users have access to releases which fix undisclosed vulnerabilities for > sometimes months prior to an httpd release, but aren't given the true > information on why/whether they need to upgrade. > > c) because our mirrored git history is immutable, svn revision log > message changes - which retroactively add CVE names and make the svn log > a "true" record of history, rather than one containing deliberate lies, > never make it to the git log. > > My preference is that we follow the ASF process for Critical > vulnerabilities, and for anything less than Critical we use a modified It might be debatable if the ASF process should already apply for Important vulnerabilities, but otherwise I agree. I don't think that low or moderate security issues always require an immediate release to be done. Hence I think it would be fine to just have the patches available. OTOH some of these patches might need tweaks before they could be backported e.g. due to merge conflicts and hence it wouldn't be that easy for some users to apply them. Maybe the workaround here is to work on these patches in /pmc/httpd/SECURITY/ first and keep stuff there until a backport proposal has been voted on there such that we can commit to trunk and 2.4.x nearly at the same time with the "true" commit message and people who don't want to wait for the release can pick up the patch from the 2.4.x branch and merge it into their build. > version of the ASF policy, which has instead: > > 12. The project team commits the fix, referencing the assigned CVE, and > then: > > a. Notifies the reporter that the fix is public, and will be included > in a future release. > > b. Notifies MITRE, etc etc as per 15. (e) in the ASF policy > > 13, 14, 15 as per ASF policy except for MITRE disclose being done earlier. > > 16 is now unnecessary. > > This roughly reverts the httpd process to what we used prior to adopting > the Tomcat-esque policy for the whole ASF. We would have to document > this and possibly need it approved by the ASF security team. Not sure if we need to have it approved, but at least we should discuss with the ASF security team. Regards Rüdiger
Changing the httpd security process
At the moment we follow the standard ASF process for handling security vulnerabilities, https://www.apache.org/security/committers.html This includes the following step where fixes are committed with "obscured" commit messages prior to release: "12. The project team commits the fix. No reference should be made to the commit being related to a security vulnerability." I find this deeply distateful, and poor practice, for three reasons: a) it requires committers to lie (either by omission, or explicitly) when describing changes in the source code history. If there were an extremely good justification for lying, say, fixing an embargoed Critical vulnerability which affects millions of servers, I could live with it. But we apply this for everything, even trivial Low-severity vulnerabilities. b) it creates a nasty conflict for mod_h2, where Stefan is cutting mod_h2 releases at github which he knows address vulnerabilities, but is unable to disclose that until the time of an httpd release. So mod_h2 users have access to releases which fix undisclosed vulnerabilities for sometimes months prior to an httpd release, but aren't given the true information on why/whether they need to upgrade. c) because our mirrored git history is immutable, svn revision log message changes - which retroactively add CVE names and make the svn log a "true" record of history, rather than one containing deliberate lies, never make it to the git log. My preference is that we follow the ASF process for Critical vulnerabilities, and for anything less than Critical we use a modified version of the ASF policy, which has instead: 12. The project team commits the fix, referencing the assigned CVE, and then: a. Notifies the reporter that the fix is public, and will be included in a future release. b. Notifies MITRE, etc etc as per 15. (e) in the ASF policy 13, 14, 15 as per ASF policy except for MITRE disclose being done earlier. 16 is now unnecessary. This roughly reverts the httpd process to what we used prior to adopting the Tomcat-esque policy for the whole ASF. We would have to document this and possibly need it approved by the ASF security team. Thoughts? Regards, Joe
Re: svn commit: r40676 - /release/httpd/KEYS
On 7/24/20 5:40 PM, jor...@apache.org wrote: > Author: jorton > Date: Fri Jul 24 15:40:16 2020 > New Revision: 40676 > > Log: > Add new key, remove old key. > > Modified: > release/httpd/KEYS > Given that Joe needs to authenticate for committing and Subversion is encrypted does anybody see a risk in signing this key with my key for improving the Web of Trust? Key signing parties are difficult in these times :-). Regards Rüdiger