one_gadget 2.0.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +215 -65
  3. data/README.md +96 -22
  4. data/lib/one_gadget/abi.rb +41 -5
  5. data/lib/one_gadget/builds/libc-2.31-93b46e0027747153e336c3fd9431ce9a5d82ad00.rb +563 -0
  6. data/lib/one_gadget/builds/libc-2.35-891c1403437a4e30e684e0c8e34b87a09e4298e5.rb +434 -0
  7. data/lib/one_gadget/builds/libc-2.39-a1d1cf4badf1f5dfe57ff1d17bd692ccc6fcd5c5.rb +531 -0
  8. data/lib/one_gadget/builds/libc-2.39-cd8f5a207dd67aea370d2b471a54c3e56f44ab18.rb +531 -0
  9. data/lib/one_gadget/builds/libc-2.43-b50ceafbd17dc6bceee344a66671c7eaa152bef4.rb +15 -0
  10. data/lib/one_gadget/emulators/aarch64.rb +5 -2
  11. data/lib/one_gadget/emulators/amd64.rb +1 -0
  12. data/lib/one_gadget/emulators/arm.rb +27 -18
  13. data/lib/one_gadget/emulators/arm_family.rb +35 -160
  14. data/lib/one_gadget/emulators/conditional.rb +28 -22
  15. data/lib/one_gadget/emulators/constraints.rb +269 -0
  16. data/lib/one_gadget/emulators/data_processing.rb +167 -0
  17. data/lib/one_gadget/emulators/i386.rb +4 -6
  18. data/lib/one_gadget/emulators/instruction.rb +24 -1
  19. data/lib/one_gadget/emulators/lambda.rb +6 -4
  20. data/lib/one_gadget/emulators/mips.rb +289 -0
  21. data/lib/one_gadget/emulators/processor.rb +33 -455
  22. data/lib/one_gadget/emulators/register_file.rb +19 -10
  23. data/lib/one_gadget/emulators/riscv64.rb +265 -0
  24. data/lib/one_gadget/emulators/safe_calls.rb +9 -3
  25. data/lib/one_gadget/emulators/tracked_memory.rb +209 -0
  26. data/lib/one_gadget/emulators/x86.rb +32 -22
  27. data/lib/one_gadget/fetchers/aarch64.rb +0 -27
  28. data/lib/one_gadget/fetchers/amd64.rb +0 -24
  29. data/lib/one_gadget/fetchers/argument_resolution.rb +340 -0
  30. data/lib/one_gadget/fetchers/arm.rb +99 -44
  31. data/lib/one_gadget/fetchers/base.rb +142 -640
  32. data/lib/one_gadget/fetchers/candidate_walk.rb +150 -0
  33. data/lib/one_gadget/fetchers/disassembly.rb +252 -0
  34. data/lib/one_gadget/fetchers/dynamic_symbols.rb +104 -0
  35. data/lib/one_gadget/fetchers/i386.rb +5 -8
  36. data/lib/one_gadget/fetchers/mips.rb +478 -0
  37. data/lib/one_gadget/fetchers/objdump.rb +25 -3
  38. data/lib/one_gadget/fetchers/riscv64.rb +78 -0
  39. data/lib/one_gadget/fetchers/x86.rb +19 -0
  40. data/lib/one_gadget/fetchers.rb +22 -6
  41. data/lib/one_gadget/gadget.rb +27 -37
  42. data/lib/one_gadget/helper.rb +19 -5
  43. data/lib/one_gadget/one_gadget.rb +6 -0
  44. data/lib/one_gadget/version.rb +1 -1
  45. data/lib/one_gadget.rb +1 -1
  46. metadata +18 -6
  47. data/lib/one_gadget/builds/libc-2.26-2104f3d4ad5cf68603afbe7ba1a17f5ac99c5988.rb +0 -227
  48. data/lib/one_gadget/builds/libc-2.26-ddcc13122ddbfe5e5ef77d4ebe66d124ae5762c2.rb +0 -300
  49. data/lib/one_gadget/builds/libc-2.26-f65648a832414f2144ce795d75b6045a1ec2e252.rb +0 -199
@@ -0,0 +1,531 @@
1
+ require 'one_gadget/gadget'
2
+ # spec/data/riscv64-libc-2.39.so
3
+ #
4
+ # RISC-V
5
+ #
6
+ # GNU C Library (Ubuntu GLIBC 2.39-0ubuntu8) stable release version 2.39.
7
+ # Copyright (C) 2024 Free Software Foundation, Inc.
8
+ # This is free software; see the source for copying conditions.
9
+ # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
10
+ # PARTICULAR PURPOSE.
11
+ # Compiled by GNU CC version 13.2.0.
12
+ # libc ABIs: UNIQUE ABSOLUTE IFUNC
13
+ # Minimum supported kernel: 4.15.0
14
+ # For bug reporting instructions, please see:
15
+ # <https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.
16
+
17
+ build_id = File.basename(__FILE__, '.rb').split('-').last
18
+ OneGadget::Gadget.add(build_id, 290276,
19
+ constraints: ["a3 != a4", "readable: s2", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "sp+0x208 == NULL || (u16)[sp+0x208] == 0x0"],
20
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, sp+0x208, sp+0x48, environ)")
21
+ OneGadget::Gadget.add(build_id, 290276,
22
+ constraints: ["a3 == a4", "readable: s2", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "sp+0x208 == NULL || (u16)[sp+0x208] == 0x0"],
23
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, sp+0x208, sp+0x48, environ)")
24
+ OneGadget::Gadget.add(build_id, 290278,
25
+ constraints: ["a3 != a4", "readable: s2", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "sp+0x208 == NULL || (u16)[sp+0x208] == 0x0"],
26
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, sp+0x208, sp+0x48, environ)")
27
+ OneGadget::Gadget.add(build_id, 290278,
28
+ constraints: ["a3 == a4", "readable: s2", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "sp+0x208 == NULL || (u16)[sp+0x208] == 0x0"],
29
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, sp+0x208, sp+0x48, environ)")
30
+ OneGadget::Gadget.add(build_id, 290280,
31
+ constraints: ["a3 != a4", "readable: s2", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "sp+0x208 == NULL || (u16)[sp+0x208] == 0x0"],
32
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, sp+0x208, sp+0x48, environ)")
33
+ OneGadget::Gadget.add(build_id, 290280,
34
+ constraints: ["a3 == a4", "readable: s2", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "sp+0x208 == NULL || (u16)[sp+0x208] == 0x0"],
35
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, sp+0x208, sp+0x48, environ)")
36
+ OneGadget::Gadget.add(build_id, 290284,
37
+ constraints: ["readable: s2", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "sp+0x208 == NULL || (u16)[sp+0x208] == 0x0"],
38
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, sp+0x208, sp+0x48, environ)")
39
+ OneGadget::Gadget.add(build_id, 290288,
40
+ constraints: ["readable: s2", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "sp+0x208 == NULL || (u16)[sp+0x208] == 0x0"],
41
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, sp+0x208, sp+0x48, environ)")
42
+ OneGadget::Gadget.add(build_id, 290290,
43
+ constraints: ["readable: s2", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "sp+0x208 == NULL || (u16)[sp+0x208] == 0x0"],
44
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, sp+0x208, sp+0x48, environ)")
45
+ OneGadget::Gadget.add(build_id, 290292,
46
+ constraints: ["readable: s2", "writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
47
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
48
+ OneGadget::Gadget.add(build_id, 290294,
49
+ constraints: ["readable: s2", "writable: a0", "writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
50
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
51
+ OneGadget::Gadget.add(build_id, 290298,
52
+ constraints: ["readable: s2", "writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
53
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
54
+ OneGadget::Gadget.add(build_id, 290300,
55
+ constraints: ["readable: a1", "writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
56
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
57
+ OneGadget::Gadget.add(build_id, 290302,
58
+ constraints: ["readable: a1", "writable: a0", "writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
59
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
60
+ OneGadget::Gadget.add(build_id, 290306,
61
+ constraints: ["writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
62
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
63
+ OneGadget::Gadget.add(build_id, 290308,
64
+ constraints: ["readable: a1", "writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
65
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
66
+ OneGadget::Gadget.add(build_id, 290310,
67
+ constraints: ["readable: a1", "writable: a0", "writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
68
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
69
+ OneGadget::Gadget.add(build_id, 290314,
70
+ constraints: ["writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
71
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
72
+ OneGadget::Gadget.add(build_id, 290316,
73
+ constraints: ["writable: s1", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "(u16)[s1] == 0x0"],
74
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
75
+ OneGadget::Gadget.add(build_id, 290318,
76
+ constraints: ["writable: a0", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "s1 == NULL || (u16)[s1] == 0x0"],
77
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
78
+ OneGadget::Gadget.add(build_id, 290322,
79
+ constraints: ["{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "s1 == NULL || (u16)[s1] == 0x0"],
80
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, environ)")
81
+ OneGadget::Gadget.add(build_id, 290330,
82
+ constraints: ["readable: a5", "{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "[[a5]] == NULL || [a5] == NULL || [a5] is a valid envp", "s1 == NULL || (u16)[s1] == 0x0"],
83
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, [a5])")
84
+ OneGadget::Gadget.add(build_id, 290332,
85
+ constraints: ["{\"sh\", \"-c\", \"--\", s4, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1 == NULL || (u16)[s1] == 0x0"],
86
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, a5)")
87
+ OneGadget::Gadget.add(build_id, 290336,
88
+ constraints: ["a6-0x4cc == NULL || {a6-0x4cc, \"-c\", \"--\", s4, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1 == NULL || (u16)[s1] == 0x0"],
89
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, a5)")
90
+ OneGadget::Gadget.add(build_id, 290340,
91
+ constraints: ["a6 == NULL || {a6, \"-c\", \"--\", s4, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1 == NULL || (u16)[s1] == 0x0"],
92
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, a5)")
93
+ OneGadget::Gadget.add(build_id, 290342,
94
+ constraints: ["[sp+0x48] == NULL || {[sp+0x48], \"-c\", \"--\", s4, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1 == NULL || (u16)[s1] == 0x0"],
95
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, a5)")
96
+ OneGadget::Gadget.add(build_id, 290346,
97
+ constraints: ["[sp+0x48] == NULL || {[sp+0x48], a6-0x4ce, \"--\", s4, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1 == NULL || (u16)[s1] == 0x0"],
98
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, a5)")
99
+ OneGadget::Gadget.add(build_id, 290350,
100
+ constraints: ["[sp+0x48] == NULL || {[sp+0x48], a6, \"--\", s4, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1 == NULL || (u16)[s1] == 0x0"],
101
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, s1, sp+0x48, a5)")
102
+ OneGadget::Gadget.add(build_id, 290352,
103
+ constraints: ["[sp+0x48] == NULL || {[sp+0x48], a6, \"--\", s4, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "a3 == NULL || (u16)[a3] == 0x0"],
104
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, a3, sp+0x48, a5)")
105
+ OneGadget::Gadget.add(build_id, 290354,
106
+ constraints: ["[sp+0x48] == NULL || {[sp+0x48], [sp+0x50], \"--\", s4, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "a3 == NULL || (u16)[a3] == 0x0"],
107
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, a3, sp+0x48, a5)")
108
+ OneGadget::Gadget.add(build_id, 290356,
109
+ constraints: ["[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "a3 == NULL || (u16)[a3] == 0x0"],
110
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, a3, a4, a5)")
111
+ OneGadget::Gadget.add(build_id, 290360,
112
+ constraints: ["[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "a3 == NULL || (u16)[a3] == 0x0"],
113
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, a3, a4, a5)")
114
+ OneGadget::Gadget.add(build_id, 290364,
115
+ constraints: ["[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "a3 == NULL || (u16)[a3] == 0x0"],
116
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", 0, a3, a4, a5)")
117
+ OneGadget::Gadget.add(build_id, 290366,
118
+ constraints: ["[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "a2 == NULL || (s32)[a2+0x4] <= 0x0", "a3 == NULL || (u16)[a3] == 0x0"],
119
+ effect: "posix_spawn(sp+0xc, \"/bin/sh\", a2, a3, a4, a5)")
120
+ OneGadget::Gadget.add(build_id, 402824,
121
+ constraints: ["[$base+0x1743e0] == 0x0", "[$base+0x1743e8] == 0x0", "a4 == 0x0", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
122
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
123
+ OneGadget::Gadget.add(build_id, 402828,
124
+ constraints: ["[s6-0x1a0] == 0x0", "[s6-0x1a8] == 0x0", "a4 == 0x0", "writable: s0-0xf0", "writable: s6-0x1b0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
125
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
126
+ OneGadget::Gadget.add(build_id, 402832,
127
+ constraints: ["[s6+0x10] == 0x0", "[s6+0x8] == 0x0", "a4 == 0x0", "writable: s0-0xf0", "writable: s6", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
128
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
129
+ OneGadget::Gadget.add(build_id, 402836,
130
+ constraints: ["[s6+0x10] == 0x0", "a4 == 0x0", "a5 == 0x0", "writable: s0-0xf0", "writable: s6", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
131
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
132
+ OneGadget::Gadget.add(build_id, 402840,
133
+ constraints: ["[s6+0x10] == 0x0", "a4 == 0x0", "a5 == 0x0", "writable: s0-0xf0", "writable: s6", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
134
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
135
+ OneGadget::Gadget.add(build_id, 402842,
136
+ constraints: ["[s6+0x10] == 0x0", "a5 == 0x0", "writable: s0-0xf0", "writable: s6", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
137
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
138
+ OneGadget::Gadget.add(build_id, 402866,
139
+ constraints: ["[s6+0x10] == 0x0", "a5 == 0x0", "writable: s0-0xf0", "writable: s6+0x8", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
140
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
141
+ OneGadget::Gadget.add(build_id, 402870,
142
+ constraints: ["[s6+0x10] == 0x0", "writable: s0-0xf0", "writable: s6+0x8", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
143
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
144
+ OneGadget::Gadget.add(build_id, 402874,
145
+ constraints: ["[s6+0x10] == 0x0", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
146
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
147
+ OneGadget::Gadget.add(build_id, 402878,
148
+ constraints: ["s2 == 0x0", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
149
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
150
+ OneGadget::Gadget.add(build_id, 402886,
151
+ constraints: ["[s2+0xe8] == 0x0", "s11 == a1", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
152
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
153
+ OneGadget::Gadget.add(build_id, 402896,
154
+ constraints: ["[s2+0xe8] == 0x0", "a0 == 0x0", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
155
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
156
+ OneGadget::Gadget.add(build_id, 402898,
157
+ constraints: ["[s2+0xe8] == 0x0", "a0 == 0x0", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
158
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
159
+ OneGadget::Gadget.add(build_id, 402900,
160
+ constraints: ["[s2+0xe8] == 0x0", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
161
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
162
+ OneGadget::Gadget.add(build_id, 402904,
163
+ constraints: ["s2 == 0x0", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
164
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
165
+ OneGadget::Gadget.add(build_id, 402908,
166
+ constraints: ["writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
167
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
168
+ OneGadget::Gadget.add(build_id, 402916,
169
+ constraints: ["readable: a5", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "[[a5]] == NULL || [a5] == NULL || [a5] is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
170
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, [a5])")
171
+ OneGadget::Gadget.add(build_id, 402920,
172
+ constraints: ["readable: a5", "writable: s0-0xf0", "a6+0x36c == NULL || {a6+0x36c, \"-c\", \"--\", s3, ...} is a valid argv", "[[a5]] == NULL || [a5] == NULL || [a5] is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
173
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, [a5])")
174
+ OneGadget::Gadget.add(build_id, 402924,
175
+ constraints: ["readable: a5", "writable: s0-0xf0", "a6 == NULL || {a6, \"-c\", \"--\", s3, ...} is a valid argv", "[[a5]] == NULL || [a5] == NULL || [a5] is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
176
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, [a5])")
177
+ OneGadget::Gadget.add(build_id, 402926,
178
+ constraints: ["writable: s0-0xf0", "a6 == NULL || {a6, \"-c\", \"--\", s3, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
179
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, a5)")
180
+ OneGadget::Gadget.add(build_id, 402930,
181
+ constraints: ["writable: s0-0xe8", "[s0-0xf0] == NULL || {[s0-0xf0], \"-c\", \"--\", s3, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
182
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, a5)")
183
+ OneGadget::Gadget.add(build_id, 402934,
184
+ constraints: ["writable: s0-0xe8", "[s0-0xf0] == NULL || {[s0-0xf0], a6+0x366, \"--\", s3, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
185
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, a5)")
186
+ OneGadget::Gadget.add(build_id, 402938,
187
+ constraints: ["writable: s0-0xe8", "[s0-0xf0] == NULL || {[s0-0xf0], a6, \"--\", s3, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
188
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, a5)")
189
+ OneGadget::Gadget.add(build_id, 402942,
190
+ constraints: ["writable: s0-0xe0", "[s0-0xf0] == NULL || {[s0-0xf0], [s0-0xe8], \"--\", s3, ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
191
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, a5)")
192
+ OneGadget::Gadget.add(build_id, 402946,
193
+ constraints: ["writable: s0-0xe0", "[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
194
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, a4, a5)")
195
+ OneGadget::Gadget.add(build_id, 402950,
196
+ constraints: ["writable: s0-0xe0", "[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
197
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, a4, a5)")
198
+ OneGadget::Gadget.add(build_id, 402954,
199
+ constraints: ["writable: s0-0xe0", "[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
200
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, a4, a5)")
201
+ OneGadget::Gadget.add(build_id, 402956,
202
+ constraints: ["writable: s0-0xe0", "[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0", "a3 == NULL || (u16)[a3] == 0x0"],
203
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, a3, a4, a5)")
204
+ OneGadget::Gadget.add(build_id, 402958,
205
+ constraints: ["writable: s0-0xe0", "[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "s1+0xe0 == NULL || writable: s1+0xe0", "a2 == NULL || (s32)[a2+0x4] <= 0x0", "a3 == NULL || (u16)[a3] == 0x0"],
206
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", a2, a3, a4, a5)")
207
+ OneGadget::Gadget.add(build_id, 403152,
208
+ constraints: ["[s6+0x10] == 0x0", "writable: s0-0xf0", "writable: s6", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
209
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
210
+ OneGadget::Gadget.add(build_id, 403154,
211
+ constraints: ["[s6+0x10] == 0x0", "writable: s0-0xf0", "writable: s6", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
212
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
213
+ OneGadget::Gadget.add(build_id, 403158,
214
+ constraints: ["[s6+0x10] == 0x0", "writable: s0-0xf0", "writable: s6+0x8", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
215
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
216
+ OneGadget::Gadget.add(build_id, 403162,
217
+ constraints: ["[s6+0x10] == 0x0", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
218
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
219
+ OneGadget::Gadget.add(build_id, 403176,
220
+ constraints: ["[s6+0x10] == 0x0", "writable: s0-0xf0", "writable: s6+0x8", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
221
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
222
+ OneGadget::Gadget.add(build_id, 403342,
223
+ constraints: ["[s6+0x10] == 0x0", "writable: s0-0xf0", "writable: s6+0x4", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
224
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
225
+ OneGadget::Gadget.add(build_id, 403346,
226
+ constraints: ["[s6+0x10] == 0x0", "writable: s0-0xf0", "{\"sh\", \"-c\", \"--\", s3, ...} is a valid argv", "s1+0xe0 == NULL || writable: s1+0xe0", "s5 == NULL || (s32)[s5+0x4] <= 0x0"],
227
+ effect: "posix_spawn(s1+0xe0, \"/bin/sh\", s5, 0, s0-0xf0, environ)")
228
+ OneGadget::Gadget.add(build_id, 653000,
229
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
230
+ effect: "execve(\"/bin/sh\", sp-0x50, a2)")
231
+ OneGadget::Gadget.add(build_id, 653000,
232
+ constraints: ["[a1+0x8] == 0x0", "[a1] != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
233
+ effect: "execve(\"/bin/sh\", sp-0x70, a2)")
234
+ OneGadget::Gadget.add(build_id, 653002,
235
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
236
+ effect: "execve(\"/bin/sh\", sp, a2)")
237
+ OneGadget::Gadget.add(build_id, 653002,
238
+ constraints: ["[a1+0x8] == 0x0", "[a1] != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
239
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
240
+ OneGadget::Gadget.add(build_id, 653004,
241
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
242
+ effect: "execve(\"/bin/sh\", sp, a2)")
243
+ OneGadget::Gadget.add(build_id, 653004,
244
+ constraints: ["[a1+0x8] == 0x0", "[a1] != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
245
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
246
+ OneGadget::Gadget.add(build_id, 653006,
247
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
248
+ effect: "execve(\"/bin/sh\", sp, a2)")
249
+ OneGadget::Gadget.add(build_id, 653006,
250
+ constraints: ["[a1+0x8] == 0x0", "[a1] != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
251
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
252
+ OneGadget::Gadget.add(build_id, 653008,
253
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
254
+ effect: "execve(\"/bin/sh\", sp, a2)")
255
+ OneGadget::Gadget.add(build_id, 653008,
256
+ constraints: ["[a1+0x8] == 0x0", "[a1] != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
257
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
258
+ OneGadget::Gadget.add(build_id, 653010,
259
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
260
+ effect: "execve(\"/bin/sh\", sp, a2)")
261
+ OneGadget::Gadget.add(build_id, 653010,
262
+ constraints: ["[a1+0x8] == 0x0", "[a1] != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
263
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
264
+ OneGadget::Gadget.add(build_id, 653012,
265
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
266
+ effect: "execve(\"/bin/sh\", sp, a2)")
267
+ OneGadget::Gadget.add(build_id, 653012,
268
+ constraints: ["[a1+0x8] == 0x0", "[a1] != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
269
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
270
+ OneGadget::Gadget.add(build_id, 653014,
271
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
272
+ effect: "execve(\"/bin/sh\", sp, a2)")
273
+ OneGadget::Gadget.add(build_id, 653014,
274
+ constraints: ["[a1+0x8] == 0x0", "[a1] != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
275
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
276
+ OneGadget::Gadget.add(build_id, 653016,
277
+ constraints: ["[a1] == 0x0", "writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
278
+ effect: "execve(\"/bin/sh\", s0-0x50, a2)")
279
+ OneGadget::Gadget.add(build_id, 653016,
280
+ constraints: ["[a1+0x8] == 0x0", "[a1] != 0x0", "writable: s0-0x38", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
281
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
282
+ OneGadget::Gadget.add(build_id, 653018,
283
+ constraints: ["a3 == 0x0", "writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
284
+ effect: "execve(\"/bin/sh\", s0-0x50, a2)")
285
+ OneGadget::Gadget.add(build_id, 653018,
286
+ constraints: ["[a1+0x8] == 0x0", "a3 != 0x0", "writable: s0-0x38", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
287
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
288
+ OneGadget::Gadget.add(build_id, 653022,
289
+ constraints: ["a3 == 0x0", "readable: [s4+0x7be]", "writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
290
+ effect: "execve(\"/bin/sh\", s0-0x50, a2)")
291
+ OneGadget::Gadget.add(build_id, 653022,
292
+ constraints: ["[a1+0x8] == 0x0", "a3 != 0x0", "readable: [s4+0x7be]", "writable: s0-0x38", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
293
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
294
+ OneGadget::Gadget.add(build_id, 653026,
295
+ constraints: ["a3 == 0x0", "readable: s4", "writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
296
+ effect: "execve(\"/bin/sh\", s0-0x50, a2)")
297
+ OneGadget::Gadget.add(build_id, 653026,
298
+ constraints: ["[a1+0x8] == 0x0", "a3 != 0x0", "readable: s4", "writable: s0-0x38", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
299
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
300
+ OneGadget::Gadget.add(build_id, 653030,
301
+ constraints: ["a3 == 0x0", "writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
302
+ effect: "execve(\"/bin/sh\", s0-0x50, a2)")
303
+ OneGadget::Gadget.add(build_id, 653030,
304
+ constraints: ["[a1+0x8] == 0x0", "a3 != 0x0", "writable: s0-0x38", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
305
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
306
+ OneGadget::Gadget.add(build_id, 653034,
307
+ constraints: ["[a1+0x8] == 0x0", "a3 != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
308
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
309
+ OneGadget::Gadget.add(build_id, 653034,
310
+ constraints: ["a3 == 0x0", "writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
311
+ effect: "execve(\"/bin/sh\", s0-0x50, a2)")
312
+ OneGadget::Gadget.add(build_id, 653036,
313
+ constraints: ["[a1+0x8] == 0x0", "a3 != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
314
+ effect: "execve(\"/bin/sh\", sp-0x20, a2)")
315
+ OneGadget::Gadget.add(build_id, 653036,
316
+ constraints: ["a3 == 0x0", "writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
317
+ effect: "execve(\"/bin/sh\", s0-0x50, a2)")
318
+ OneGadget::Gadget.add(build_id, 653038,
319
+ constraints: ["[a1+0x8] == 0x0", "a3 != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
320
+ effect: "execve(\"/bin/sh\", sp-0x20, s2)")
321
+ OneGadget::Gadget.add(build_id, 653038,
322
+ constraints: ["a3 == 0x0", "writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
323
+ effect: "execve(\"/bin/sh\", s0-0x50, s2)")
324
+ OneGadget::Gadget.add(build_id, 653040,
325
+ constraints: ["[a1+0x8] == 0x0", "a3 != 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
326
+ effect: "execve(\"/bin/sh\", sp-0x20, s2)")
327
+ OneGadget::Gadget.add(build_id, 653040,
328
+ constraints: ["a3 == 0x0", "writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
329
+ effect: "execve(\"/bin/sh\", s0-0x50, s2)")
330
+ OneGadget::Gadget.add(build_id, 653042,
331
+ constraints: ["[a1+0x8] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
332
+ effect: "execve(\"/bin/sh\", sp-0x20, s2)")
333
+ OneGadget::Gadget.add(build_id, 653044,
334
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
335
+ effect: "execve(\"/bin/sh\", sp-0x20, s2)")
336
+ OneGadget::Gadget.add(build_id, 653048,
337
+ constraints: ["[a1] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
338
+ effect: "execve(\"/bin/sh\", sp-0x20, s2)")
339
+ OneGadget::Gadget.add(build_id, 653050,
340
+ constraints: ["[a4] == 0x0", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
341
+ effect: "execve(\"/bin/sh\", sp-0x20, s2)")
342
+ OneGadget::Gadget.add(build_id, 653088,
343
+ constraints: ["a2 == 0x1", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
344
+ effect: "execve(\"/bin/sh\", sp, s2)")
345
+ OneGadget::Gadget.add(build_id, 653090,
346
+ constraints: ["a2 == 0x1", "writable: s1", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
347
+ effect: "execve(\"/bin/sh\", s1, s2)")
348
+ OneGadget::Gadget.add(build_id, 653094,
349
+ constraints: ["a2 == 0x1", "writable: s1", "a4+0x246 == NULL || {a4+0x246, a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
350
+ effect: "execve(\"/bin/sh\", s1, s2)")
351
+ OneGadget::Gadget.add(build_id, 653098,
352
+ constraints: ["a2 == 0x1", "writable: s1", "a4 == NULL || {a4, a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
353
+ effect: "execve(\"/bin/sh\", s1, s2)")
354
+ OneGadget::Gadget.add(build_id, 653100,
355
+ constraints: ["a2 == 0x1", "writable: s1+0x8", "[s1] == NULL || s1 == NULL || s1 is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
356
+ effect: "execve(\"/bin/sh\", s1, s2)")
357
+ OneGadget::Gadget.add(build_id, 653102,
358
+ constraints: ["a2 == 0x1", "writable: s1+0x10", "[s1] == NULL || s1 == NULL || s1 is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
359
+ effect: "execve(\"/bin/sh\", s1, s2)")
360
+ OneGadget::Gadget.add(build_id, 653104,
361
+ constraints: ["a2 == a4", "writable: s1+0x10", "[s1] == NULL || s1 == NULL || s1 is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
362
+ effect: "execve(\"/bin/sh\", s1, s2)")
363
+ OneGadget::Gadget.add(build_id, 653108,
364
+ constraints: ["writable: s1+0x10", "[s1] == NULL || s1 == NULL || s1 is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
365
+ effect: "execve(\"/bin/sh\", s1, s2)")
366
+ OneGadget::Gadget.add(build_id, 653112,
367
+ constraints: ["[s1] == NULL || s1 == NULL || s1 is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
368
+ effect: "execve(\"/bin/sh\", s1, s2)")
369
+ OneGadget::Gadget.add(build_id, 653114,
370
+ constraints: ["[s1] == NULL || s1 == NULL || s1 is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
371
+ effect: "execve(\"/bin/sh\", s1, a2)")
372
+ OneGadget::Gadget.add(build_id, 653116,
373
+ constraints: ["[a1] == NULL || a1 == NULL || a1 is a valid argv", "[a2] == NULL || a2 == NULL || a2 is a valid envp"],
374
+ effect: "execve(\"/bin/sh\", a1, a2)")
375
+ OneGadget::Gadget.add(build_id, 653176,
376
+ constraints: ["[s1] == NULL || s1 == NULL || s1 is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
377
+ effect: "execve(\"/bin/sh\", s1, s2)")
378
+ OneGadget::Gadget.add(build_id, 653196,
379
+ constraints: ["writable: s0-0x50", "a0 == NULL || {\"/bin/sh\", a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
380
+ effect: "execve(\"/bin/sh\", s0-0x50, s2)")
381
+ OneGadget::Gadget.add(build_id, 653200,
382
+ constraints: ["writable: s0-0x50", "a5+0x1dc == NULL || {a5+0x1dc, a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
383
+ effect: "execve(\"/bin/sh\", s0-0x50, s2)")
384
+ OneGadget::Gadget.add(build_id, 653204,
385
+ constraints: ["writable: s0-0x50", "a5 == NULL || {a5, a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
386
+ effect: "execve(\"/bin/sh\", s0-0x50, s2)")
387
+ OneGadget::Gadget.add(build_id, 653208,
388
+ constraints: ["writable: s0-0x48", "[s0-0x50] == NULL || {[s0-0x50], a0, NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
389
+ effect: "execve(\"/bin/sh\", s0-0x50, s2)")
390
+ OneGadget::Gadget.add(build_id, 653212,
391
+ constraints: ["writable: s0-0x40", "[s0-0x50] == NULL || {[s0-0x50], [s0-0x48], NULL} is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
392
+ effect: "execve(\"/bin/sh\", s0-0x50, s2)")
393
+ OneGadget::Gadget.add(build_id, 653216,
394
+ constraints: ["writable: s1+0x10", "[s1] == NULL || s1 == NULL || s1 is a valid argv", "[s2] == NULL || s2 == NULL || s2 is a valid envp"],
395
+ effect: "execve(\"/bin/sh\", s1, s2)")
396
+ OneGadget::Gadget.add(build_id, 743114,
397
+ constraints: ["a0 == 0x0", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
398
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, environ)")
399
+ OneGadget::Gadget.add(build_id, 743118,
400
+ constraints: ["[[[$base+0x171fc0]]] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
401
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
402
+ OneGadget::Gadget.add(build_id, 743122,
403
+ constraints: ["[[[a5-0x70e]]] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
404
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
405
+ OneGadget::Gadget.add(build_id, 743126,
406
+ constraints: ["[[a5]] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
407
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
408
+ OneGadget::Gadget.add(build_id, 743130,
409
+ constraints: ["[[a5]] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
410
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
411
+ OneGadget::Gadget.add(build_id, 743134,
412
+ constraints: ["[s10] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
413
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
414
+ OneGadget::Gadget.add(build_id, 743136,
415
+ constraints: ["[s10] == 0x0", "[sp+0xc8] != -0x1", "s0 != -0x1", "s0 != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
416
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
417
+ OneGadget::Gadget.add(build_id, 743140,
418
+ constraints: ["[sp+0xc8] != -0x1", "s0 != -0x1", "s0 != [sp+0xc0]", "s8 == 0x0", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
419
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
420
+ OneGadget::Gadget.add(build_id, 743160,
421
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "s0 != -0x1", "s0 != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
422
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
423
+ OneGadget::Gadget.add(build_id, 743164,
424
+ constraints: ["[sp+0xc8] != -0x1", "s0 != -0x1", "s0 != [sp+0xc0]", "s8 == 0x0", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
425
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
426
+ OneGadget::Gadget.add(build_id, 743166,
427
+ constraints: ["[sp+0xc8] != -0x1", "s0 != -0x1", "s0 != [sp+0xc0]", "s8 == 0x0", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
428
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
429
+ OneGadget::Gadget.add(build_id, 743192,
430
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != a5+0x1", "writable: ((a5 << 0x3) + [sp+0xd0])", "writable: ((a5+0x1 << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "s8 == NULL || readable: s8", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
431
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
432
+ OneGadget::Gadget.add(build_id, 743196,
433
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != a4", "writable: ((a4 << 0x3) + [sp+0xd0])", "writable: ((a5 << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "s8 == NULL || readable: s8", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
434
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
435
+ OneGadget::Gadget.add(build_id, 743198,
436
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "writable: ((a5 << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "s8 == NULL || readable: s8", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
437
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
438
+ OneGadget::Gadget.add(build_id, 743200,
439
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "writable: ((a5 << 0x3) + a4)", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
440
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
441
+ OneGadget::Gadget.add(build_id, 743202,
442
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "writable: (a5 + a4)", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
443
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
444
+ OneGadget::Gadget.add(build_id, 743204,
445
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "writable: a5", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
446
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
447
+ OneGadget::Gadget.add(build_id, 743208,
448
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
449
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
450
+ OneGadget::Gadget.add(build_id, 743210,
451
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "s0 != -0x1", "s0 != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
452
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
453
+ OneGadget::Gadget.add(build_id, 743218,
454
+ constraints: ["[sp+0xc8] != -0x1", "s0 != -0x1", "s0 != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
455
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
456
+ OneGadget::Gadget.add(build_id, 743222,
457
+ constraints: ["[sp+0xc8] != -0x1", "s0 != -0x1", "s0 != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
458
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
459
+ OneGadget::Gadget.add(build_id, 743224,
460
+ constraints: ["[sp+0xc8] != -0x1", "s0 != [sp+0xc0]", "s0 != a5", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
461
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
462
+ OneGadget::Gadget.add(build_id, 743228,
463
+ constraints: ["[sp+0xc8] != -0x1", "s0 != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
464
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
465
+ OneGadget::Gadget.add(build_id, 743230,
466
+ constraints: ["[sp+0xc8] != -0x1", "s0 != a5", "writable: ((a5 << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
467
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
468
+ OneGadget::Gadget.add(build_id, 743234,
469
+ constraints: ["[sp+0xc8] != -0x1", "writable: ((a5 << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
470
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
471
+ OneGadget::Gadget.add(build_id, 743238,
472
+ constraints: ["[sp+0xc8] != -0x1", "writable: ((a5 << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
473
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
474
+ OneGadget::Gadget.add(build_id, 743240,
475
+ constraints: ["[sp+0xc8] != -0x1", "writable: ((a5 << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
476
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
477
+ OneGadget::Gadget.add(build_id, 743242,
478
+ constraints: ["[sp+0xc8] != -0x1", "writable: ((a5 << 0x3) + a4)", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
479
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
480
+ OneGadget::Gadget.add(build_id, 743244,
481
+ constraints: ["[sp+0xc8] != -0x1", "writable: (a5 + a4)", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
482
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
483
+ OneGadget::Gadget.add(build_id, 743246,
484
+ constraints: ["[sp+0xc8] != -0x1", "writable: a5", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
485
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
486
+ OneGadget::Gadget.add(build_id, 743250,
487
+ constraints: ["[sp+0xc8] != -0x1", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
488
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
489
+ OneGadget::Gadget.add(build_id, 743252,
490
+ constraints: ["a4 != -0x1", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
491
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
492
+ OneGadget::Gadget.add(build_id, 743254,
493
+ constraints: ["a4 != a5", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
494
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
495
+ OneGadget::Gadget.add(build_id, 743258,
496
+ constraints: ["[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
497
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
498
+ OneGadget::Gadget.add(build_id, 743260,
499
+ constraints: ["[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
500
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, a5)")
501
+ OneGadget::Gadget.add(build_id, 743264,
502
+ constraints: ["[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
503
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, a5)")
504
+ OneGadget::Gadget.add(build_id, 743266,
505
+ constraints: ["[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "a2 == NULL || (s32)[a2+0x4] <= 0x0"],
506
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", a2, 0, sp+0x50, a5)")
507
+ OneGadget::Gadget.add(build_id, 743268,
508
+ constraints: ["[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "a2 == NULL || (s32)[a2+0x4] <= 0x0"],
509
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", a2, 0, a4, a5)")
510
+ OneGadget::Gadget.add(build_id, 743270,
511
+ constraints: ["[a4] == NULL || a4 is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "a2 == NULL || (s32)[a2+0x4] <= 0x0", "a3 == NULL || (u16)[a3] == 0x0"],
512
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", a2, a3, a4, a5)")
513
+ OneGadget::Gadget.add(build_id, 744156,
514
+ constraints: ["[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
515
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, environ)")
516
+ OneGadget::Gadget.add(build_id, 744164,
517
+ constraints: ["readable: a5", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[a5]] == NULL || [a5] == NULL || [a5] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
518
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [a5])")
519
+ OneGadget::Gadget.add(build_id, 744166,
520
+ constraints: ["[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[a5] == NULL || a5 == NULL || a5 is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
521
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, a5)")
522
+ OneGadget::Gadget.add(build_id, 744184,
523
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "[sp+0xc8] != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
524
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
525
+ OneGadget::Gadget.add(build_id, 744186,
526
+ constraints: ["[s10+0x8] == 0x0", "[sp+0xc8] != -0x1", "s0 != -0x1", "s0 != [sp+0xc0]", "writable: (([sp+0xc0] << 0x3) + [sp+0xd0])", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
527
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
528
+ OneGadget::Gadget.add(build_id, 744290,
529
+ constraints: ["[sp+0xc8] != -0x1", "[sp+0x50] == NULL || {[sp+0x50], [sp+0x58], [sp+0x60], [sp+0x68], ...} is a valid argv", "[[sp+0xd0]] == NULL || [sp+0xd0] == NULL || [sp+0xd0] is a valid envp", "[sp+0x30] == NULL || (s32)[[sp+0x30]+0x4] <= 0x0"],
530
+ effect: "posix_spawn(sp+0x44, \"/bin/sh\", [sp+0x30], 0, sp+0x50, [sp+0xd0])")
531
+