summaryrefslogtreecommitdiff
path: root/spec/ruby/security/cve_2018_16396_spec.rb
blob: 303c47a8c7029e2937e1a4007986a0dea9745fe6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require_relative '../spec_helper'

describe "Array#pack" do

  ruby_version_is ''...'2.7' do
    it "resists CVE-2018-16396 by tainting output based on input" do
      "aAZBbHhuMmPp".each_char do |f|
        ["123456".taint].pack(f).tainted?.should be_true
      end
    end
  end

end

describe "String#unpack" do

  ruby_version_is ''...'2.7' do
    it "resists CVE-2018-16396 by tainting output based on input" do
      "aAZBbHhuMm".each_char do |f|
        "123456".taint.unpack(f).first.tainted?.should be_true
      end
    end
  end

end