Internet Engineering Task Force Steve Christey
INTERNET-DRAFT MITRE
Valid for six months Chris Wysopal
Category: Best Current Practice @stake, Inc.
February 2002
Responsible Vulnerability Disclosure Process
draft-christey-wysopal-vuln-disclosure-00.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
New vulnerabilities in software and hardware products are discovered
and publicized on a daily basis. The disclosure of vulnerability
information has been a divisive topic for years. During the process
of disclosure, many vendors, security researchers, and other parties
follow a variety of unwritten or informal guidelines for how they
interact and share information. Some parties may be unaware of these
guidelines, or they may intentionally ignore them. This state of
affairs can make it difficult to achieve a satisfactory outcome for
everyone who uses or is affected by vulnerability information.
The purpose of this document is to describe best practices for a
responsible disclosure process that involves vulnerability reporters,
product vendors or maintainers, third parties, the security
community, and ultimately customers and users.
Christey & Wysopal Expires August 2002 [Page 1]
Internet-Draft Responsible Vulnerability Disclosure February 2002
Table of Contents
1 Introduction and Purpose ....................................... 3
1.1 Background ................................................... 3
1.2 Major Roles in Disclosure .................................... 3
1.3 Motivations .................................................. 4
1.4 Goals of Responsible Disclosure .............................. 5
2 Phases of Responsible Disclosure ............................... 6
3 Responsibilities in the Phases of Vulnerability Disclosure ..... 7
3.1 Latent Flaw .................................................. 7
3.2 Discovery .................................................... 7
3.3 Notification Phase: Initial Notification ..................... 8
3.3.1 Vendor Responsibilities .................................... 8
3.3.2 Reporter Responsibilities .................................. 9
3.4 Notification Phase: Vendor Receipt .......................... 11
3.4.1 Vendor Responsibilities ................................... 11
3.5 Validation Phase ............................................ 11
3.5.1 Vendor Responsibilities ................................... 11
3.5.2 Reporter Responsibilities ................................. 13
3.5.3 Coordinator Responsibilities .............................. 14
3.6 Resolution Phase ............................................ 14
3.6.1 Vendor Responsibilities ................................... 14
3.6.2 Reporter Responsibilities ................................. 15
3.7 Release Phase ............................................... 16
3.7.1 Vendor Responsibilities ................................... 16
3.7.2 Reporter Responsibilities ................................. 18
3.7.3 Coordinator Responsibilities .............................. 18
3.7.4 Customer Responsibilities ................................. 19
3.7.5 Security Community Responsibilities ....................... 19
3.8 Follow-Up Phase ............................................. 20
4 Policy Publication ............................................ 20
4.1 Vendor Policy ............................................... 20
4.2 Reporter Policy ............................................. 20
4.3 Coordinator Policy .......................................... 21
5 References .................................................... 21
5.1 Disclosure Policies ......................................... 21
5.2 Commentary on Disclosure Details ............................ 21
5.3 Commentary on Disclosure Process ............................ 22
5.4 Commentary on Advisories .................................... 24
5.5 Commentary on Vendor Accessibility .......................... 24
5.6 Discovery of Issues in the Wild ............................. 25
5.7 Researcher Credibility and Vulnerability Reproduction ....... 26
5.8 Miscellaneous ............................................... 26
6 Acknowledgements .............................................. 26
7 Security Considerations ....................................... 26
8 Authors' Addresses ............................................ 27
9 Full Copyright Statement ...................................... 27
Christey & Wysopal Expires August 2002 [Page 2]
Internet-Draft Responsible Vulnerability Disclosure February 2002
Document Conventions
The key words "REQUIRED", "MUST", "MUST NOT", "SHOULD", "SHOULD NOT",
and "MAY" in this document are to be interpreted as described in "Key
words for use in RFCs to Indicate Requirement Levels" [RFC2119].
1 Introduction and Purpose
This document provides guidance and recommendations for the community
of developers, vendors, end users, researchers and security
professionals who wish to perform responsible vulnerability
disclosure within the information technology arena. For purposes of
this document, the term "responsible" refers to the recognition of a
formal, repeatable process for the reporting, evaluation, resolution
and publication of vulnerability information. "Vulnerability" refers
to any bug, flaw, behavior, output, outcome or event within an
application, system, device, or service that could lead to increased
risk or security exploit. For purposes of this document, we have
standardized on the term "product" to encompass the full suite of
products that are addressed by this document.
1.1 Background
Vulnerabilities are an inherent and unfortunate part of the design
and development process. Vulnerability detection may occur during
any phase of the product lifecycle, to include design, development,
testing, implementation or operation. Ideally, vulnerabilities are
largely prevented through a design process that considers security.
However, due to a variety of reasons, many vulnerabilities are
detected after a product is implemented in an operational environment
and supporting customer objectives. A variety of legislative and
social issues directly influences the process for vulnerability
research, detection and response. Developers, customers and the
security community all have divergent perspectives on the impact of
vulnerabilities. Currently, vulnerability release is inconsistent
and largely driven from the perspective of the party who has the
greatest ability to control the process. In an effort to create a
common framework by which objectives are met to the benefit of all
parties, this document communicates a formal, repeatable process for
addressing vulnerability disclosure in a responsible manner. This
document provides a means to address the common goal of providing
more secure products while reducing the risk to customers.
1.2 Major Roles in Disclosure
Several types of individuals or organizations may play a role in the
process of vulnerability disclosure. These roles may overlap.
Christey & Wysopal Expires August 2002 [Page 3]
Internet-Draft Responsible Vulnerability Disclosure February 2002
A Vendor is an individual or organization who provides, develops, or
maintains software, hardware, or services, possibly for free.
A Customer is the end user of the software, hardware, or service that
may be affected by the vulnerability.
A Reporter is the individual or organization that informs (or
attempts to inform) the Vendor of the vulnerability. Note that the
Reporter may not have been the initial discoverer of the problem.
A Coordinator is an individual or organization who works with the
Reporter and the Vendor to analyze and address the vulnerability.
Coordinators are often well-known third parties. Coordinators may
have resources, credibility, or working relationships that exceed
those of the reporter or vendors. Coordinators may serve as proxies
for reporters, help to verify the reporter's claims, resolve
conflicts, and work with all parties to resolve the vulnerability in
a satisfactory manner. Note: while Coordinators can facilitate the
responsible disclosure process for a vulnerability, the use of
Coordinators by other parties is not a requirement.
The Security Community includes individuals or organizations whose
primary goals include improving overall information technology
security. The community includes security administrators and
analysts, system administrators who are responsible for the security
of their systems, commercial or non-profit organizations who provide
security-related products or services, researchers and academics,
informal groups, and individuals.
1.3 Motivations
Individuals and organizations have a wide variety of motivations
(some in direct conflict with each other) that make the disclosure
process more complex.
Vendors may have one or more of the following motivations. Some
vendors believe that public notification may help their customers
address vulnerabilities, at the possible cost of negative publicity.
Some vendors may be unresponsive, or secretly fix vulnerabilities,
for fear of negative publicity. Some vendors may not have the
technical skills to understand the nature of the vulnerability and
the risk that it poses.
Customers often wish to have secure products, but security features
can make it more difficult to use those products. Many customers do
not care about the nature of the vulnerability. However, there is a
small percentage of customers for whom vulnerability information
plays a critical role in their usage of products. Some vendors may
be customers of other vendors.
Christey & Wysopal Expires August 2002 [Page 4]
Internet-Draft Responsible Vulnerability Disclosure February 2002
Reporters have a variety of motivations. Because reporters are often
the means through which vulnerability information is communicated,
they have a major impact on how the disclosure process is followed.
Reporters may be motivated by altruism ("to make computers more
secure"), recognition or fame, marketing to highlight technical
skills (for individuals as well as companies), forcing unresponsive
vendors to address a vulnerability, curiosity or the challenge of
vulnerability analysis, or malicious intent to damage the reputations
of specific vendors, wreak havoc, or cause financial damage to
customers. The vague goals of altruism are often open to different
interpretations by different reporters. Reporters may be
inexperienced, malicious, or have insufficient resources to follow
the full process of disclosure. Reporters are seldom compensated for
their important role in enhancing Internet security.
The motivations for members of the security community may vary
depending on the specific tasks that are being undertaken by the
members. Community members may have motivations that include those
of vendors, customers, and/or reporters. In addition, members of the
security community may wish to track trends in vulnerabilities,
identify new types of vulnerabilities, or design new products and
processes to reduce the impact of vulnerabilities.
Coordinators are often members of the security community, and as such
may share the same motivations. Coordinators may also be required by
their mission or contract to perform this role.
1.4 Goals of Responsible Disclosure
The goals of responsible disclosure include:
1) Ensure that vulnerabilities can be identified and eliminated
effectively and efficiently for all parties.
2) Minimize the risk to customers from vulnerabilities that could
allow damage to their systems.
3) Provide customers with sufficient information for them to evaluate
the level of security in vendors' products.
4) Provide the security community with the information necessary to
develop tools and methods for identifying, managing, and reducing the
risks of vulnerabilities in information technology.
5) Minimize the amount of time and resources required to manage
vulnerability information.
6) Facilitate long-term research and development of techniques,
products, and processes for avoiding or mitigating vulnerabilities.
Christey & Wysopal Expires August 2002 [Page 5]
Internet-Draft Responsible Vulnerability Disclosure February 2002
7) Minimize the amount of antagonism that often exists between
parties as a result of different assumptions and expectations, due to
the lack of consistent and explicit disclosure practices.
2 Phases of Responsible Disclosure
Following are the basic phases of the responsible vulnerability
disclosure process. Some of these phases may be bypassed in specific
situations with agreement across all parties. In other cases, one or
more parties may not be responsible, skipping some phases.
1) Latent Flaw. A flaw is introduced into a product during its
design, specification, development, installation, or default
configuration.
2) Discovery. One or more individuals or organizations discover the
flaw through casual evaluation, by accident, or as a result of
focused analysis and testing. In some cases, knowledge of the flaw
may be kept within a particular group. A vulnerability report or an
exploit program may be discovered "in the wild," i.e., in use by
malicious attackers or made available for use and distribution.
3) Notification. A reporter or coordinator notifies the vendor of
the vulnerability ("Initial Notification"). In turn, the vendor
provides the reporter or coordinator with assurances that the
notification was received ("Vendor Receipt").
4) Validation. The vendor or other parties verify and validate the
reporter's claims ("Reproduction").
5) Resolution. The vendor and other parties also try to identify
where the flaw resides ("Diagnosis"). The vendor develops a patch or
workaround that eliminates or reduces the risk of the vulnerability
("Fix Development"). The patch is then tested by other parties (such
as reporter or coordinator) to ensure that the flaw has been
corrected ("Patch Testing").
6) Release. The vendor, coordinator, and/or reporter release the
information about the vulnerability, along with its resolution. The
vendor may initially release this information to its customers and
other organizations with which it may have special relationships
("Limited release"). The vendor or other parties may then release
the information - possibly with additional details - to the security
community.
7) Follow-up. The vendor, customer, coordinator, reporter, or
security community may conduct additional analysis of the
vulnerability or the quality of its resolution.
Christey & Wysopal Expires August 2002 [Page 6]
Internet-Draft Responsible Vulnerability Disclosure February 2002
3 Responsibilities in the Phases of Vulnerability Disclosure
3.1 Latent Flaw
The following recommendations identify how most latent flaws can be
avoided.
1) The Vendor SHOULD ensure that programmers, designers, and testers
are knowledgeable about common flaws in the design and implementation
of products.
Rationale: Some classes of vulnerabilities are well-known and can be
easily exploited using repeatable techniques. Educated programmers,
designers, and testers can identify and eliminate vulnerabilities
before the product is provided to customers, or prevent their
introduction into the product in the first place.
2) Customers SHOULD configure their products and systems in ways that
eliminate latent flaws or reduce the impact of latent flaws,
including (1) removing default services that are not necessary for
the operation of the affected systems, (2) limiting necessary
services only to networks or systems that require access, (3) using
the minimal amount of access and privileges necessary for proper
functioning of the products, and (4) using security features of the
product or operating system that reduce the chance that a flaw can be
successfully exploited.
Rationale: Many computer intrusions involve the exploitation of
vulnerabilities in network services that are unnecessary for typical
operating environments. In some cases, system configuration can
reduce the overall risk of vulnerabilities (known and unknown). For
example, the Code Red and Nimda worms of 2001 were largely successful
because of these factors.
3) The Security Community SHOULD track all known vulnerabilities to
identify new classes of vulnerabilities, educate the public about
these types of vulnerabilities, and find ways to detect or prevent
them in the development, testing, and deployment of products.
3.2 Discovery
1) The Reporter SHOULD make a reasonable effort to ensure that: - the
vulnerability is real - the process of getting the product into a
known exploitable state is repeatable - the vulnerability has not
already been reported by the vendor or well-established vulnerability
information sources
Rationale: Some vulnerabilities are re-discovered after they have
already been fixed, or the reporter has introduced the problem due to
Christey & Wysopal Expires August 2002 [Page 7]
Internet-Draft Responsible Vulnerability Disclosure February 2002
misconfiguration, or the reporter identifies the symptoms of the
vulnerability without determining the cause. If the reporter ensures
that the problem is new and real, then the reporter will will avoid
unnecessarily consuming the time and resources spent by vendors and
other parties in investigating the problem.
Note: in some cases, a reporter may not be able to make a reasonable
effort due to limitations of time, resources, access to the product,
or expertise. In some cases, the problem may only appear
intermittently, or the product is only temporarily accessible to the
reporter (e.g., when the reporter is a consultant who discovers the
problem in products that a customer uses). In other cases, the
reporter may discover information about the vulnerability without
having any access to the product.
Note: in some cases, the reporter may be able to coerce the product
into a state that is known to be exploitable, without creating a
fully working exploit program (e.g., a buffer overflow with a long
string of 'A' characters may produce a result that shows that the
instruction pointer has been overwritten). This is considered a
reasonable effort.
3.3 Notification Phase: Initial Notification
To facilitate the disclosure process, Vendors need to be accessible
to Reporters, and Reporters need to find and use the appropriate
communication channels for notifying Vendors.
3.3.1 Vendor Responsibilities
1) The Vendor MUST make it as easy as possible for Reporters,
Coordinators, Customers, and the Security Community to notify the
Vendor of vulnerabilities.
Rationale: It is often difficult for reporters or other parties to
notify vendors of vulnerabilities, especially if the reporters are
not customers. This may cause the parties to bypass other phases of
the disclosure process, or adopt a policy that avoids vendor
notification because of previous bad experiences with vendors.
2) The Vendor SHOULD establish a Security Response Capability (SRC)
that consists of one or more individuals or groups that are
responsible for responding to vulnerability reports, verifying
vulnerabilities, releasing bulletins, etc.
Christey & Wysopal Expires August 2002 [Page 8]
Internet-Draft Responsible Vulnerability Disclosure February 2002
3) The Vendor SHOULD ensure that its staff knows how to recognize a
reported security issue and direct it to the Security Response
Capability. This recommendation applies to staff who provide support
online, over the telephone, in person, or through some other means by
which reporters may interact with the Vendor.
4) If the Vendor can control the e-mail addresses that it uses (e.g.,
it has its own domain name), then the Vendor SHOULD define and
publish the "secalert" alias for use in vulnerability notification.
Rationale: Currently, Vendors use a variety of aliases for
notification, including "security-alert," "security," and "support."
Some Vendors may use the "security" alias for physical security
facilities. The "security" alias is also defined in RFC2142 for use
in incident handling. The "security-alert" alias is longer than 8
characters and contains a dash, which could make it more difficult to
use or locate in search engines. The "secalert" alias is not
commonly used at this time, and as such it does not have the types of
issues that some commonly-used aliases have.
Note: smaller vendors may not be able to control which e-mail
addresses they use.
5) If the Vendor operates a web site or other means of distributing
information regarding its product, then the Vendor SHOULD create and
publish a "security" page or folder that identifies how vulnerability
reports should be made. The Vendor SHOULD make this page easy to
find from other locations, such as a separate contact page or index.
6) The Vendor MUST provide a facility for individuals or
organizations who are not Customers to report vulnerabilities. The
Vendor SHOULD NOT require (1) an active technical support number, (2)
telephone access that is not toll-free, or (3) user registration for
a web site or other facility that would be used for reporting.
Rationale: As described earlier, some reporters or coordinators are
not necessarily customers of the Vendor. If the Vendor is not
accessible to them, then they will be more likely to bypass other
aspects of this process.
7) The Vendor SHOULD recognize that inexperienced or malicious
reporters may not use proper notification, and define its own
procedures for handling such cases.
3.3.2 Reporter Responsibilities
1) The Reporter SHOULD make reasonable efforts to use the appropriate
channels for notifying the Vendor of the vulnerability:
Christey & Wysopal Expires August 2002 [Page 9]
Internet-Draft Responsible Vulnerability Disclosure February 2002
(a) The Reporter SHOULD attempt to notify the vendor through the
channels described in this section.
(b) If the Vendor is not accessible through those channels, then the
Reporter MAY attempt to contact the vendor through technical
support.
Note: in some cases, a reporter may not be able to make a reasonable
effort due to time limitations, lack of proper access to the vendor,
inexperience, expense, prohibitions by the reporter's own
organization, or the reporter does not meet some criteria for
notification (e.g., a support contract number).
2) If the Reporter is unable to notify the Vendor, then the Reporter
SHOULD ask a Coordinator to notify the Vendor. The Reporter SHOULD
provide the Coordinator with a list of contacts or mechanisms that
were used to attempt to notify the Vendor.
Rationale: a Coordinator may appear more credible than the Reporter,
or have a previously established relationship with the Vendor. The
Reporter may be prohibited from disclosing the vulnerability directly
to the Vendor.
Note: the Coordinator will not necessarily have a different way of
reaching the Vendor than the Reporter does.
3) The Reporter and/or Coordinator SHOULD record the date of
notification.
Rationale: This helps Customers, Reporters, Coordinators, and the
Security Community track how long it takes for a Vendor to resolve a
vulnerability after the initial notification.
4) The Reporter SHOULD provide the Vendor, and the Coordinator (if
any), with all known details of the issue, including any programs,
scripts, or pseudo-code that would allow the Vendor to reproduce
and/or confirm the vulnerability.
Rationale: such details make it easier for the Vendor and Coordinator
to reproduce and diagnose the vulnerability, which then allows the
Vendor to identify or develop a resolution more quickly.
Note: some vulnerabilities may be theoretical or not well-understood
in this phase of the disclosure process, and the Reporter may not
have developed programs that exploit the problem. In other cases,
the Reporter may be using proprietary programs to demonstrate the
vulnerability.
Christey & Wysopal Expires August 2002 [Page 10]
Internet-Draft Responsible Vulnerability Disclosure February 2002
3.4 Notification Phase: Vendor Receipt
3.4.1 Vendor Responsibilities
1) The Vendor MUST notify the Reporter and involved Coordinators that
the Vendor has received the notification. This Receipt does not
necessarily imply that the Vendor has researched or reproduced the
vulnerability, only that the Vendor is aware of the notification.
Rationale: if the Vendor does not respond, then the Reporter or
Coordinator may not be sure if the Vendor is truly aware of the
reported vulnerability, and/or if the Vendor intends to resolve the
vulnerability. This often causes Reporters or Coordinators to bypass
later phases of the disclosure process in order to warn customers of
the risks to their systems.
2) The Vendor MUST provide the Reporter and involved Coordinators
with a Receipt within 7 days.
Rationale: Other time frames (such as 5 business days) were
considered but deemed unworkable due to international issues (e.g.,
"work weeks" may fall on different days in different countries, there
are different national or religious holidays). Defining a time frame
relative to the Vendor or Reporter could not work without some form
of communication between both parties.
Note: small but responsible Vendors or individuals may not be able to
provide this degree of responsiveness, especially during vacation
periods. Reporters and Coordinators SHOULD take this into account
during the notification phase. Small, responsible Vendors SHOULD
post some clear notification when it is known that such delays will
occur.
3) If the Vendor's receipt message is automatically generated, then
it SHOULD include a time period or date by which an individual (or
the Security Response Capability) will provide follow-up on the
reported vulnerability. The time period SHOULD NOT exceed 10 days.
4) Within 10 days of initial notification, the Vendor's Security
Response Capability SHOULD provide a clear response to the Reporter
and any involved Coordinators.
3.5 Validation Phase
3.5.1 Vendor Responsibilities
1) If the vulnerability is found in a supported product, the Vendor
MUST either (1) reproduce the vulnerability, (2) determine if there
is enough evidence for the existence of the vulnerability when it
Christey & Wysopal Expires August 2002 [Page 11]
Internet-Draft Responsible Vulnerability Disclosure February 2002
cannot be reproduced, (3) determine if the vulnerability is already
known (and possibly resolved), or (4) work with the Reporter to
determine if the vulnerability is related to the specific environment
in which it was discovered (including configuration errors or
interactions with other products).
2) If the vulnerability is found in an unsupported or discontinued
product, the Vendor MAY refuse to validate the vulnerability.
However, the Vendor MUST ensure that the reported vulnerability does
not exist in supported product versions or other supported products
based on the vulnerable product.
3) The Vendor SHOULD NOT assume that the risk or impact of the
vulnerability is limited to what has been identified by the Reporter
or involved Coordinator.
Rationale: The Reporter or involved Coordinator may not have
sufficient experience or time to identify the full scope of the
problem. Sometimes, a theoretical vulnerability is later found to be
more easily exploitable as a result of follow-on analysis or the
creation of a tool. For example, it may be easy for a Reporter to
find evidence of a buffer overflow vulnerability by sending a long
argument that causes a product to crash. It is an indicator that a
carefully crafted program could be used to execute arbitrary code.
The Reporter and Vendor may not have the skills or resources to
create such a program, but such a program could be created in the
future.
4) The Vendor SHOULD examine its product to ensure that it is free of
other problems that are similar to the reported vulnerability.
Rationale: some Vendors reproduce and resolve the specific issue that
is identified by the Reporter without extending their analysis to see
if similar mistakes were made elsewhere in the product. The
Reporter, others in the Security Community, or hackers may conduct
follow-on research to find these other vulnerabilities. This can
result in a cycle in which vulnerabilities are discovered and patched
so often that it becomes difficult for customers to manage the volume
of resolutions that they need to apply.
5) The Vendor MUST consult with the Reporter and involved
Coordinators when more information or analysis is needed.
6) The Vendor SHOULD provide status updates to the Reporter and any
involved Coordinators every 7 days. The Vendor MAY negotiate with
the parties for less frequent updates.
7) The Vendor MUST notify the Reporter and any involved Coordinators
when the Vendor is able to reproduce the vulnerability.
Christey & Wysopal Expires August 2002 [Page 12]
Internet-Draft Responsible Vulnerability Disclosure February 2002
8) The Vendor SHOULD attempt to resolve the vulnerability within 30
days of initial notification.
9) If the Vendor cannot resolve the vulnerability within 30 days,
then the Vendor MUST provide the Reporter and involved Coordinators
with specific reasons why the vulnerability cannot be resolved.
10) If the Vendor is aware of other vendors that share the same
codebase as the affected product, then the Vendor MUST either (1)
notify those vendors, or (2) notify a Coordinator that other Vendors
may be affected by the reported vulnerability.
3.5.2 Reporter Responsibilities
1) The Reporter SHOULD work with the Vendor in a timely fashion to
explain the vulnerability and conduct further analysis.
Rationale: if a problem is sufficiently complex or only appears in a
portion of deployed systems, then the Vendor may not be able to
reproduce the issue. In other cases, the Vendor may not understand
the problem. If the Reporter is slow to respond, then this can
extend the time window during which Customers are at risk.
2) If the Vendor does not understand the nature, risk, or resolution
of the vulnerability, then the Reporter or involved Coordinators
SHOULD provide the Vendor with resources that help to explain the
vulnerability.
Note: Some Vendors may require - or insist - upon extensive
consultation to identify the vulnerability. Reporters and
Coordinators may not have the time or resources to provide such
assistance.
3) If the Reporter does not have the time or resources to conduct
such analysis, then the Reporter SHOULD notify the Vendor and suggest
alternate contacts (such as Coordinators) who may be able to assist
the Vendor. The Reporter SHOULD NOT attempt to bypass later phases.
4) If the Reporter finds that the Reporter is in error, then the
Reporter SHOULD notify the Vendor and involved Coordinators.
Rationale: if a Reporter does not perform this notification, then the
Vendors or Coordinators may continue to spend unnecessary resources
on further analysis of the issue.
5) The Reporter SHOULD grant time extensions to the Vendor if there
is evidence that the Vendor is acting in good faith to resolve the
vulnerability.
Christey & Wysopal Expires August 2002 [Page 13]
Internet-Draft Responsible Vulnerability Disclosure February 2002
6) If the Vendor is unresponsive or disagrees with the Reporter's
findings, then the Reporter SHOULD involve a Coordinator.
3.5.3 Coordinator Responsibilities
1) The Coordinator MUST attempt to resolve any conflicts or technical
disagreements that arise between the Reporter and the Vendor.
2) If a Vendor is unresponsive or does not appear to be acting in
good faith to resolve the vulnerability, then the Coordinator SHOULD
attempt to convince the Vendor to follow the proper process.
3) If a Reporter is unresponsive or does not appear to be acting in
good faith to resolve the vulnerability, then the Coordinator SHOULD
attempt to convince the Reporter to follow the proper process.
4) The Coordinator SHOULD work with the Vendor and Reporter to
determine if other Vendors are affected by the same problem.
5) The Coordinator SHOULD work with the Vendor and Reporter to
identify time extensions (if any) that are acceptable to all
parties.
3.6 Resolution Phase
The "Resolution" of a vulnerability involves action regarding one or
more of the following:
- patch creation
- recommendation of configuration change
- design change
- workaround
- no action
If the Vendor does not participate or is unresponsive, then the
Reporter and Coordinator might not be able to create a patch or
change the design of the product.
3.6.1 Vendor Responsibilities
1) The Vendor MUST identify the fundamental nature of the flaw within
the source code or in the design of the product ("Diagnosis").
2) The Vendor MUST either (1) provide a patch, configuration change,
or workaround that appropriately reduces or eliminates the risk of
the vulnerability ("Fix Development"), or (2) provide the Reporter
and involved Coordinators with specific reasons for its inaction.
Christey & Wysopal Expires August 2002 [Page 14]
Internet-Draft Responsible Vulnerability Disclosure February 2002
3) The Vendor SHOULD request time extensions from the Reporter and
involved Coordinators when necessary.
4) The Vendor SHOULD test the patches, configuration changes, and
workarounds sufficiently to ensure that either (1) they do not
adversely affect the operation of the product, or (2) it is clear
which conditions may adversely affect the operation of the product.
Rationale: Vendors may be pressured to quickly resolve
vulnerabilities without sufficient testing, especially when Reporters
have bypassed the Notification or Validation phases. As a result,
the resolution may adversely affect more systems than necessary.
5) The Vendor MUST provide the Reporter and involved Coordinators
with all known configuration changes or workarounds that address the
vulnerability ("Fix Development").
6) The Vendor SHOULD provide the Reporter and involved Coordinators
with any patches ("Patch Testing").
Rationale: this helps the Reporter and Coordinator to confirm that
the vulnerability has been reduced or eliminated.
Note: the Vendor's business model may require that only supported
Customers can have access to a patch, which could exclude Reporters
or Coordinators. Such Vendors should recognize that this practice
may result in an incomplete patch that does not address the
vulnerability in question.
7) If the Reporter is unresponsive or uncooperative, or a dispute
arises, then the Vendor SHOULD work with a Coordinator to identify
the best available resolution for the vulnerability.
3.6.2 Reporter Responsibilities
1) The Reporter SHOULD recognize that it may be difficult for a
Vendor to resolve a vulnerability within 30 days if (1) the problem
is related to insecure design, (2) the Vendor has a diverse set of
hardware, operating systems, and/or product versions to support, or
(3) the Vendor is not skilled in security.
2) The Reporter SHOULD grant time extensions to the Vendor if the
Vendor is acting in good faith to resolve the vulnerability.
3) If the Vendor is unresponsive or uncooperative, or a dispute
arises, then the Reporter SHOULD work with a Coordinator to identify
the best available resolution for the vulnerability.
Christey & Wysopal Expires August 2002 [Page 15]
Internet-Draft Responsible Vulnerability Disclosure February 2002
3.7 Release Phase
3.7.1 Vendor Responsibilities
1) The Vendor SHOULD work with the Reporter and involved Coordinators
to arrange a date after which the vulnerability information may be
released.
2) The Vendor MAY ask the Reporter and Coordinator to allow a "Grace
Period" up to 30 days, during which the Reporter and Coordinator do
not release details of the vulnerability that could make it easier
for hackers to create exploit programs.
Rationale: a grace period provides Customers with a time period in
which they can fix their systems. During this time, the lack of
details may make it more difficult or resource-intensive for
attackers to determine the nature of the vulnerability and craft an
exploit. However, some security-aware Customers desire such details
so that they can better decide whether the resolution of the
vulnerability is appropriate for their environment. In addition,
some members of the Security Community desire such details in order
to (1) enhance tools or techniques to detect vulnerable systems on
Customer networks (such as vulnerability scanners), (2) enhance tools
or techniques to detect attempts to exploit vulnerabilities on
Customer networks (such as intrusion detection systems), (3) provide
databases or other information that Customers use to identify and
prioritize vulnerabilities that may affect the Customer's enterprise,
and (4) perform research and trend analysis.
3) If the Reporter has not properly followed the process and publicly
announces the vulnerability, then the Vendor SHOULD post its
awareness of the vulnerability, and the Vendor's progress in its
resolution, to appropriate forums.
Rationale: this allows Customers and the Security Community to know
that the Vendor is aware of the problem and working to resolve it.
Note: some Vendors may not wish to acknowledge such vulnerabilities
until a patch is available.
4) If a Reporter has properly followed the process, then the Vendor
MUST provide credit to that reporter.
5) If a Coordinator has properly followed the process, then the
Vendor SHOULD provide credit to the Coordinator.
6) If a Reporter has not properly followed the process and publicly
announces the vulnerability, then the Vendor MAY provide credit to
the reporter.
Christey & Wysopal Expires August 2002 [Page 16]
Internet-Draft Responsible Vulnerability Disclosure February 2002
Rationale: Some people believe that even if a reporter has not
followed the procedures properly, the reporter has still provided
valuable information that is useful to the Vendor, Customers,
Coordinators, and the Security Community, and academic integrity
would dictate that reporters should be credited. However, since
credit is a motivation for some reporters, others believe that
irresponsible reporters should not be encouraged to bypass the
process and still get credit.
7) The Vendor MUST NOT assume that the lack of vulnerability details
will prevent the creation of an exploit.
Rationale: If the Vendor provides source code for the product, then
any entity who has access to the product could easily determine the
specific locations of the vulnerability and identify possible attack
vectors that reach the vulnerable code. If the Vendor does not
provide source code, then any entity who has access to a patch could
use reverse engineering techniques to determine how the code was
changed, then infer the nature of the vulnerability.
8) The Vendor SHOULD cryptographically sign all patches using a
method that is commonly accessible on the platforms for the Vendor's
product. The Vendor should clearly advertise its cryptographic key
and provide cryptographic checksums for its patches.
Rationale: This increases the assurance that the patches from the
Vendor are authentic.
9) The Vendor SHOULD provide an easily accessible mechanism for
Customers and the Security Community to obtain all security
advisories, such as a web page. The most recent advisory SHOULD be
listed first.
10) The Vendor SHOULD provide a mechanism for notifying Customers and
the Security Community when new advisories are published.
11) The Vendor SHOULD provide a means for the Security Community to
identify which reported vulnerabilities are genuine, but are not
regarded by the Vendor as important enough to merit a security
advisory.
Rationale: Vendors are often unwilling to release security advisories
unless the security issue is critical for its Customers. This can
reduce operating expenses for the Vendor and most Customers.
However, some members of the Security Community, and some Customers,
also prefer to protect themselves against less serious
vulnerabilities. If a Vendor does not at least indicate to its
security-aware Customers that a security-related resolution is
available, then those Customers may remain at risk for
Christey & Wysopal Expires August 2002 [Page 17]
Internet-Draft Responsible Vulnerability Disclosure February 2002
vulnerabilities that they would otherwise wish to resolve.
12) The Vendor SHOULD provide an easily accessible indicator that
allows a Customer to determine if the resolution has been applied to
a system, e.g., by modifying the product's version number or
providing the Customer with a tool that identifies the resolutions
that have been applied to a product.
3.7.2 Reporter Responsibilities
1) The Reporter SHOULD work with the Vendor and involved Coordinators
to arrange a date after which the vulnerability information may be
released.
2) If the Vendor has not resolved the vulnerability within a time
frame that is allowed by this process, then the Reporter SHOULD work
with a Coordinator to announce the vulnerability to Customers and the
Security Community.
3) If another reporter has not properly followed the process and
publicly announced the vulnerability, then the Reporter MAY announce
that the Reporter was responsibly following the disclosure process
with the Vendor and involved Coordinators.
4) If a Vendor requests a Grace Period, then the Reporter SHOULD
follow the Grace Period before releasing details of the
vulnerability.
5) After the Grace Period, the Reporter MAY release additional
details. The Reporter SHOULD carefully consider how much detail is
needed by Customers and the Security Community.
Note: in some cases, the nature of the vulnerability could make it
difficult or impossible to release vulnerability details that do not
allow someone to exploit the vulnerability.
6) The Reporter SHOULD provide credit to any Vendor and/or
Coordinator who has followed the process.
3.7.3 Coordinator Responsibilities
1) The Coordinator SHOULD work with the Vendor and Reporter to
arrange a date after which the vulnerability information may be
released.
2) If the Vendor requests a Grace Period, the Coordinator SHOULD
follow the Grace Period and encourage the Reporter to follow the
Grace Period.
Christey & Wysopal Expires August 2002 [Page 18]
Internet-Draft Responsible Vulnerability Disclosure February 2002
3) The Coordinator SHOULD provide credit to any Vendor and/or
Reporter who properly follows the process.
4) The Coordinator MAY provide credit to a reporter who has not
properly followed the process.
3.7.4 Customer Responsibilities
1) The Customer MUST NOT assume that the lack of details will prevent
the creation of an exploit.
2) If the Vendor has released information regarding the
vulnerability, then the Customer SHOULD assume that the information
is credible. The Customer SHOULD NOT require that the vulnerability
be demonstrated before applying the resolution.
3) If the Vendor has not released such information, but a
well-established Reporter or Coordinator has, then the Customer
SHOULD assume that the information is credible. The Customer SHOULD
NOT require that the vulnerability be demonstrated before applying
the resolution.
4) If vulnerability information has been released and a Grace Period
exists, then the Customer SHOULD apply the resolution to its systems
during the Grace Period.
5) Where possible, the Customer SHOULD test any patches,
configuration changes, or workarounds on test systems before making
the changes in an operational environment.
6) The Customer SHOULD inform the Vendor and the Security Community
if a patch, configuration change, or workaround does not appear to
work properly.
7) The Customer SHOULD give preference to products whose Vendors
follow responsible disclosure practices.
3.7.5 Security Community Responsibilities
1) The Security Community SHOULD publicly recognize all Vendors,
Reporters, and Coordinators who follow responsible vulnerability
disclosure.
2) The Security Community SHOULD adopt a set of terms that allows all
parties to describe the inherent risk or impact of a vulnerability
that can be interpreted in various environments, threat levels, and
policies.
Christey & Wysopal Expires August 2002 [Page 19]
Internet-Draft Responsible Vulnerability Disclosure February 2002
Rationale: Customers have varying operational needs at different
levels of security, which can make it difficult to define a "one size
fits all" risk level for any vulnerability. Current terminology
often uses a "High, Medium, Low" breakdown, but there are no formal
definitions. As such, this terminology is used inconsistently,
partially because it is based on the perspective of the entity who is
using it. It is also insufficient to capture the complexity and
tradeoffs of vulnerabilities in today's environment.
3.8 Follow-Up Phase
1) The Vendor SHOULD clearly notify Customers and the Security
Community when a resolution is (a) faulty, or (b) revised.
2) The Vendor SHOULD NOT re-release the same advisory for newly
discovered, closely related vulnerabilities.
Rationale: The re-release of an advisory may not be noticed as well
by Customers, which could cause the Customers to believe that their
systems are secure because they applied the resolution that was
identified in the original advisory.
4 Policy Publication
4.1 Vendor Policy
A Vendor SHOULD publish a policy and procedures statement that
includes the following information:
1) Where it complies (and does not comply) with the process outlined
in this document.
2) The typical amount of time after notification that the Vendor
requires to produce a resolution.
3) The Grace Period, if any, that the Vendor wishes to observe.
4) How the Vendor determines whether a reported problem is serious
enough to merit a security advisory.
4.2 Reporter Policy
If a Reporter is a member of the Security Community and the Reporter
frequently finds new vulnerabilities, then the Reporter SHOULD
publish a policy and procedures statement that includes the following
information:
1) Where it complies (and does not comply) with the process outlined
in this document.
Christey & Wysopal Expires August 2002 [Page 20]
Internet-Draft Responsible Vulnerability Disclosure February 2002
2) The maximum Grace Period that the Reporter is willing to follow.
4.3 Coordinator Policy
A Coordinator SHOULD publish a policy and procedures statement that
includes the following information:
1) Where the Coordinator complies (and does not comply) with the
process outlined in this document.
2) The maximum Grace Period that the Coordinator is willing to
follow.
5 References
Note: many of these references identify posted messages to
security-related mailing lists. These messages often resulted in
long threads that explore the related issues in more depth.
5.1 Disclosure Policies
RFPolicy 2.0
http://www.wiretrip.net/rfp/policy.html
Bugtraq Frequently Asked Questions
http://www.securityfocus.com/popups/forums/bugtraq/faq.shtml
NTBugtraq Disclosure Policy
http://ntbugtraq.ntadvice.com/default.asp?sid=1&pid=47&aid=48
CERT/CC Vulnerability Disclosure Policy
http://www.kb.cert.org/vuls/html/disclosure/
ACROS ASPR Notification and Publishing Policy
http://www.acros.si/aspr_policy.html
NMRC policy
http://www.nmrc.org/advise/policy.txt
@stake Security Advisory Disclosure Policy
http://www.atstake.com/research/policy/index.html
5.2 Commentary on Disclosure Details
"Full Disclosure is a necessary evil"
Elias Levy
SecurityFocus web site
August 16, 2001
http://www.securityfocus.com/news/238
Christey & Wysopal Expires August 2002 [Page 21]
Internet-Draft Responsible Vulnerability Disclosure February 2002
"It's Time to End Information Anarchy"
Scott Culp
Microsoft web site
October 2001
http://www.microsoft.com/technet/columns/security/noarch.asp
"Security in an Open Electronic Society"
Elias Levy
SecurityFocus web site
October 21, 2001.
http://www.securityfocus.com/news/270
"Full Disclosure"
Bruce Schneier
Crypto-Gram Newsletter
November 15, 2001
http://www.counterpane.com/crypto-gram-0111.html#1
"Script Kiddies Suck"
Marcus Ranum
Black Hat Briefings presentation
July 2000
http://web.ranum.com/usenix/blackhat-2000-keynote.mp3
"The Network Police Blotter: The Slaughter of the Innocents"
Marcus Ranum
;Login: magazine
October 2000
http://web.ranum.com/usenix/ranum_5_temp.pdf
5.3 Commentary on Disclosure Process
"Bugs in the Disclosure Process"
Ivan Arce
TISC Insight, Volume 3, Issue 3
February 9, 2001
http://tisc.corecom.com/newsletters/33.html
"SUMMARY: Bug announcement rule of thumb."
Bill Stout
NTBugtraq mailing list
August 13, 1998
http://marc.theaimsgroup.com/?l=ntbugtraq&m=90310164223252&w=2
Christey & Wysopal Expires August 2002 [Page 22]
Internet-Draft Responsible Vulnerability Disclosure February 2002
"Microsoft admits IE security alert lapse"
Wendy McAuliffe
ZDNet
November 19, 2001
http://www.zdnet.com/filters/printerfriendly/
0,6061,2825716-2,00.html
"RFP2K03: Contemplations on dvwssr.dll and its affects on life"
Rain Forest Puppy
Bugtraq mailing list
April 20, 2000
http://www.securityfocus.com/archive/1/56394
"Xato Advisory: Win2k/XP Terminal Services IP Spoofing"
Xato
Bugtraq mailing list
November 14, 2001
http://www.securityfocus.com/archive/1/240248
"Vulnerability Escrow (was: Extreme Hacking)"
Crispin Cowan
NFR Wizards mailing list
July 7, 1999
http://archives.neohapsis.com/archives/nfr-wizards/1999_2/0416.html
"Can we afford full disclosure of security holes?"
Richard M. Smith
Bugtraq mailing list
August 10, 2001
http://www.securityfocus.com/archive/1/203499
"Anti-Web 'Vulnerability' is a false alarm"
Doug Hoyte
Vuln-Dev mailing list
December 1, 2001
http://marc.theaimsgroup.com/?l=vuln-dev&m=100732828128718&w=2
"Windows of Vulnerability: A Case Study Analysis"
William A. Arbaugh, William L. Fithen, John McHugh
IEEE Computer
December 2000
"Sun denies Unix flaw"
John Geralds
vnunet.com
November 20, 2001
http://www.vnunet.com/News/1126973
Christey & Wysopal Expires August 2002 [Page 23]
Internet-Draft Responsible Vulnerability Disclosure February 2002
"Open Response To Microsoft Security - RE: It's Time to End
Information Anarchy"
Steve Manzuik
Vuln-Dev mailing list
October 17, 2001
http://archives.neohapsis.com/archives/vuln-dev/2001-q4/0195.html
"A Step Towards Information Anarchy: A Call To Arms"
hellNbak
Nomad Mobile Research Center
November 2, 2001
http://www.nmrc.org/InfoAnarchy/InfoAnarchy.htm
"To Disclose or Not to Disclose, That Is the Question"
Mark Joseph Edwards
Windows 2000 Magazine
June 27, 2001
http://www.windowsitsecurity.com/Articles/Index.cfm?ArticleID=21618
"Towards a responsible vulnerability process"
David LeBlanc
NTBugtraq mailing list
November 3, 2001
http://archives.neohapsis.com/archives/ntbugtraq/2001-q4/0097.html
5.4 Commentary on Advisories
"Writing security advisories"
Kurt Seifried
September 10, 2001
http://www.seifried.org/security/articles/
20010910-writing-security-advisories.html
"Xato commentary on MS security bulletins"
Xato
Bugtraq mailing list
December 7, 2000
http://marc.theaimsgroup.com/?l=bugtraq&m=97626305317046&w=2
5.5 Commentary on Vendor Accessibility
"Getting to the Third Wave of Security Responsiveness"
Scott Culp
January 2001
http://www.microsoft.com/technet/columns/security/thrdwave.asp
Christey & Wysopal Expires August 2002 [Page 24]
Internet-Draft Responsible Vulnerability Disclosure February 2002
"An informal analysis of vendor acknowledgement of vulnerabilities"
Steve Christey, Barbara Pease
Bugtraq mailing list
March 11, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=98438570915835&w=2
"Shockwave Flash buffer overflow"
Neal Krawetz
Bugtraq mailing list
December 29, 2000
http://marc.theaimsgroup.com/?l=bugtraq&m=97845942432045&w=2
"Re: Shockwave Flash buffer overflow"
Peter Santangeli
Bugtraq mailing list
January 5, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=97897439808223&w=2
"Re: SafeWord Agent for SSH (secure shell) vulnerability"
Leif Nixon
Bugtraq mailing list
November 29, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=100706579514862&w=2
5.6 Discovery of Issues in the Wild
"sadmind"
Nancy Lin
SF-INCIDENTS mailing list
December 9, 1999
http://marc.theaimsgroup.com/?l=incidents&m=94476722417209&w=2
"sadmind exploits (remote sparc/x86)"
Marcy Abene
Bugtraq mailing list
December 10, 1999
http://marc.theaimsgroup.com/?l=bugtraq&m=94486731225359&w=2
"IIS %c1%1c remote command execution"
Rain Forest Puppy
Bugtraq mailing list
October 17, 2000
http://marc.theaimsgroup.com/?l=bugtraq&m=97180137413891&w=2
Christey & Wysopal Expires August 2002 [Page 25]
Internet-Draft Responsible Vulnerability Disclosure February 2002
5.7 Researcher Credibility and Vulnerability Reproduction
"vCard DoS on Outlook 2000"
Joel Moses
Bugtraq mailing list
August 31, 2000
http://marc.theaimsgroup.com/?l=bugtraq&m=96774764029236&w=2
"Microsoft Outlook 2000 vCard Buffer Overrun"
@stake
February 26, 2001
http://www.atstake.com/research/advisories/2001/a022301-1.txt
"Re: Microsoft Security Bulletin MS01-012"
Joel Moses
Bugtraq mailing list
February 23, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=98322714210100&w=2
5.8 Miscellaneous
"Vulnerability disclosure publications and discussion tracking"
University of Oulu
November 20, 2001
http://www.ee.oulu.fi/research/ouspg/sage/disclosure-tracking/
"Devil in the details - why package signing matters"
Kurt Seifried
October 24, 2001
http://www.seifried.org/security/articles/
20011023-devil-in-details.html
6 Acknowledgements
We gratefully acknowledge the constructive comments received from
several contributors. Any errors or inconsistencies in this document
are solely the responsibility of the authors, and not of the
reviewers. This document does not necessarily reflect the opinion of
the reviewers or their parent organizations.
We would like to thank Andy Balinsky, Mary Ann Davidson, Elias Levy,
Russ Cooper, Scott Blake, Seth Arnold, Rain Forest Puppy, Marcus
Ranum, Lori Woeler, Adam Shostack, Mark Loveless, Scott Culp, and
Shawn Hernan for their valuable input.
7 Security Considerations
This entire document discusses security issues.
Christey & Wysopal Expires August 2002 [Page 26]
Internet-Draft Responsible Vulnerability Disclosure February 2002
8 Authors' Addresses
Steve Christey
The MITRE Corporation
202 Burlington Road
Bedford, MA 01730
USA
E-Mail: coley@mitre.org
Chris Wysopal
@stake, Inc.
196 Broadway
Cambridge, MA 02139-1902
USA
E-Mail: cwysopal@atstake.com
9 Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organisations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
This document expires August 12, 2002.
Christey & Wysopal Expires August 2002 [Page 27]