summaryrefslogtreecommitdiff
path: root/spec/ruby/security/cve_2018_16396_spec.rb
blob: c9624e9c63281d0d7e631e16b74ba8ba66fa30ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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