Skip to content

Do Not Attempt to Blame a File That May Be Irrelevant in Contributing to a Vulnerability #11

@nuthanmunaiah

Description

@nuthanmunaiah

Description

archeogit blame does not consider the relevance of a file in contributing to a vulnerability when attempting to identify the commits that likely contributed to the vulnerability. The implementation is based on the assumption that any file involved in the commit that fixed a vulnerability is relevant to the vulnerability. However, the assumption is violated when files like test cases or change logs are updated when fixing the vulnerability. There is no need to subject these irrelevant files to the algorithm that identifies commits that likely contributed to the vulnerability because these irrelevant files likely have nothing to do with resolving the vulnerability itself.

Examples

The following examples help illustrate the issue.

  • apache/struts@d934c6e is reported to have fixed CVE-2013-2115 in Apache Struts. The commit modified the four files enumerated below two of which are test files which, by their nature, are unlikely to have contributed to the vulnerability. As a result, these files must not be considered when attempting to identify vulnerability contributing commits given a vulnerability fixing commit.
    • core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java
    • core/src/test/java/org/apache/struts2/views/jsp/URLTagTest.java
    • core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java
    • xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
  • apache/httpd@2fa69ec is reported to have fixed CVE-2013-2115 in Apache httpd. The commit modified the two files enumerated below, one of which is a plaintext files used as a log of changes in the project which , by its nature, is unlikely to have contributed to the vulnerability. As a result, this file must not be considered when attempting to identify vulnerability contributing commits given a vulnerability fixing commit.
    • modules/cache/cache_util.c
    • CHANGES

Proposal

The proposed solution is to (a) develop an approach to accurately identify the irrelevant files affected by a vulnerability fixing commit and (b) ignore them when attempting to identify the vulnerability contributing commits.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions