Skip to content

Commit 056046f

Browse files
committed
update wordpress readme regex
1 parent c1718fa commit 056046f

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

lib/msf/http/wordpress/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def check_version_from_readme(type, name, fixed_version, vuln_introduced_version
9898
# try to extract version from readme
9999
# Example line:
100100
# Stable tag: 2.6.6
101-
version = res.body.to_s[/stable tag: ([^\r\n"\']+\.[^\r\n"\']+)/i, 1]
101+
version = res.body.to_s[/(?:stable tag|version): (?!trunk)([0-9a-z.-]+)/i, 1]
102102

103103
# readme present, but no version number
104104
return Msf::Exploit::CheckCode::Detected if version.nil?

spec/lib/msf/http/wordpress/version_spec.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,13 @@
129129
it { expect(subject.send(:check_version_from_readme, :plugin, 'name', wp_fixed_version, wp_introd_version)).to be(Msf::Exploit::CheckCode::Safe) }
130130
end
131131

132+
context 'when installed version is newer (text in version number)' do
133+
let(:wp_code) { 200 }
134+
let(:wp_fixed_version) { '1.5.3' }
135+
let(:wp_body) { 'Stable tag: 2.0.0-beta1' }
136+
it { expect(subject.send(:check_version_from_readme, :plugin, 'name', wp_fixed_version)).to be(Msf::Exploit::CheckCode::Safe) }
137+
end
138+
132139
end
133140

134141
end

0 commit comments

Comments
 (0)