GithubHelp home page GithubHelp logo

nuthanmunaiah / httpd-vulnerabilities Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vulnerabilityhistoryproject/httpd-vulnerabilities

0.0 1.0 0.0 6.5 MB

Data for vulnerabilityhistory.org

Shell 1.05% Ruby 98.95%

httpd-vulnerabilities's Introduction

httpd-vulnerabilities

Data for vulnerabilityhistory.org

The Build YML & Editorial Checkers

Every push and pull request is run against our integrity checkers on GitHub Actions. Click on the above tag to see the status of the build.

For SWEN 331 Students

Please see your course website for instructions. This README is more for people managing this data.

Testing project locally

  1. You'll need Ruby 2.4+
  2. Run gem install bundler (if you don't already have bundler)
  3. cd to the root of this repo, run bundle install
  4. Run bundle exec rake

If the output has no failures, then it checks out!

Generate "Weeklies" Git Log Reports

Use the VHP shepherd tools for this.

Make sure you have the HTTPD repo cloned in tmp/src. From the root of the repo, run:

$ vhp weeklies

For a list of all options do vhp help weeklies.

Populate gitlog.json with any mentioned git commits in CVE yamls

Use the VHP shepherd tools for this.

When you want to make sure that any commit that's mentioned in a YAML is also in the gitlog, you can run this script.

This will NOT figure out commits between VCC and Fix, however._

Be in the root of this repository, and run:

$ vhp loadcommits

Download Latest CVEs

To run this script, you'll need Mechanize installed. We intentionally don't put Mechanize into the Gemfile because that could (has) broken or slowed the build. Instead, you'll need to install locally:

$ gem install mechanize

Then, from the root of the repo, run the HTTPD scraper to get all CVEs, generating skeleton YMLs for ones that already exist. This won't add fixes, just fill in the CVE into the skeleton.

$ ruby scripts/pull_latest_cves.rb

Be sure to inspect this before you commit them.

Which CVEs don't have fixes?

Use shepherd tools:

$ vhp nofixes

Finding Fixes for HTTPD CVEs

We don't have a very automated process for getting fixes, but fortunately they don't come out with new vulnerabilities so fast that we need automation. Here's some places to look:

  • On the CVE database entry, sometimes they mention a commit if you're lucky.
  • Sometimes a commit message will mention the CVE. Use git log --grep="CVE-XXXX-XXXXX" to find your CVE.
  • Often, a commit will be done BEFORE a CVE is registered, in which case you'll want to do git log --grep but looking for key words.
  • You can also take a look at their CHANGES file for similar key words. Be sure to look at the "affects" versions on the security page (this is 2.4's for example) and make sure the date makes sense.
  • In a pinch, you can use GitHub to do a blame on the CHANGES file. HTTPD devs will often edit the CHANGES in the same commit as a vulnerability fix. If not, it's in a nearby commit in time.
  • In a real pinch, you can just do git log around the dates you've seen and look at all commits - this is tedious and a last resort. Note that the CVE year is not a good indicator of when the vulnerability was fixed - sometimes developers will register a CVE years after they fixed it. Use the original dates from the repo.

httpd-vulnerabilities's People

Contributors

andymeneely avatar tanner-g avatar sxm7571 avatar aushe02 avatar axj2613 avatar exw4141 avatar etiano417 avatar nbrockman avatar aldenreed avatar mattthyng avatar rlb8800 avatar paceylong avatar jonathan-eid avatar xetnus avatar bnk5096 avatar well-mannered-rascal avatar swc19 avatar joseflenz avatar sfm2686 avatar nitepone avatar theguywiththehat avatar shawn-struble avatar rmnill202 avatar renchauret avatar iamnukee avatar paulgildehaus avatar natethegr8falk avatar matthewseaman avatar lindseyferretti avatar 17mgeffert avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.