Anatomy of an Apache vulnerability report
The Apache Software Foundation is the home of over 190 as of this post's writing, among them are some of the most widely deployed and relied upon software packages in the world. Chances are that you probably have some Apache software running somewhere with in your organization. This leads to an important question that all organizations must ask - what do we do if we find a security vulnerability within one of these projects? Luckily all Apache projects have a common process that they follow for addressing such situations, producing a report that other users may follow to mitigate or resolve known issues.- The reporter reports the vulnerability privately to security@project.apache.org or to security@apache.org.
- Messages that do not relate to the reporting or management of an undisclosed security vulnerability in Apache software are ignored and no further action is required.
- If reported to security@apache.org the security team will forward the report (without acknowledging it) to the project’s security list or to the PMC private list if no security email list exists.
- The project team sends an email to the original reporter to acknowledge the report.
- The project team investigates the report and either rejects it or accepts it.
- If the report is rejected, the project team writes the reporter to explain why.
- If the report is accepted, the project team writes to reporter to let them know it is accepted and that they are working on a fix.
- The project team requests a Common Vulnerability and Exposures (CVE) number from security@apache.org by sending them an email with the subject “CVE request for...” and providing a short description of the vulnerability.
- The project team agrees the fix on their private list.
- The project team provides the reporter with a copy of the fix and a draft vulnerability announcement for comment.
- The project team agrees the fix, the announcement and the release schedule with the reporter.
- The project team commits the fix.
- The project team creates a release that includes the fix.
- The project team announces the release and the vulnerability:
- Typically this is sent to the reporter, project user, dev, and announce list.
- security@apache.org, full-disclosure@lists.grok.org.uk, and bugtrak@securityfocus.com are notified.
- Project security page is updated.
- This is the first point that any information is made public.
- The log for the svn commit that applied the fix is updated to include the CVE number.
- Project website includes page titled: ${Project Name} Security Advisory
- Header: Title, CVE #, Last change, Date created, Product, Versions affected.
- Change log: Brief updates on verification, resolution.
- Description: Describes the vulnerability, and how it behaves on different versions.
- Type of Attack: DDOS, Permissions escalation, etc.
- Background of vulnerability.
- The Fix: What version does the fix appear in.
- Caveats: Changes in behaviour.
- Mitigation: Approaches to mitigating vulnerability in absence of fix.
- OS and Vendor specific information: Platform specific reports/patches.
- Actions: What users should do, and how to verify if susceptible.
- Planning: future work regarding this CVE.
Each CVE will contain the sections as above, which should allow your organization to safely handle the challenges presented by any known issue.
I hope by reviewing the reporting process, and the contents of a CVE that users, developers, administrators, and operators in all organizations gain more confidence in their use of Apache projects, knowing that the community have planned for the worst case scenario and are prepared with processes and standards for addressing them in a timely manner.


No comments:
Post a Comment