Files
wpscan/lib/common/models/wp_item/vulnerable.rb
2013-05-06 22:33:18 +02:00

33 lines
814 B
Ruby
Executable File

# encoding: UTF-8
class WpItem
module Vulnerable
attr_accessor :vulns_file, :vulns_xpath
# Get the vulnerabilities associated to the WpItem
#
# @return [ Vulnerabilities ]
def vulnerabilities
xml = xml(vulns_file)
vulnerabilities = Vulnerabilities.new
xml.xpath(vulns_xpath).each do |node|
vuln = Vulnerability.load_from_xml_node(node)
if vuln
if version && vuln.fixed_in && !vuln.fixed_in.empty?
if VersionCompare::is_newer_or_same?(vuln.fixed_in, version)
# "Hooray, fixed"
else
vulnerabilities << vuln
end
else
vulnerabilities << vuln
end
end
end
vulnerabilities
end
end
end