one_gadget 2.0.0 → 2.1.0

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 +197 -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 +3 -1
  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 +24 -2
  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 +25 -34
  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
+ # http://ports.ubuntu.com/ubuntu-ports/pool/main/g/glibc/libc6_2.39-0ubuntu8.8_riscv64.deb
3
+ #
4
+ # RISC-V
5
+ #
6
+ # GNU C Library (Ubuntu GLIBC 2.39-0ubuntu8.8) 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.3.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, 290284,
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, 290284,
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, 290286,
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, 290286,
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, 290288,
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, 290288,
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, 290292,
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, 290296,
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, 290298,
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, 290300,
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, 290302,
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, 290306,
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, 290308,
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, 290310,
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, 290314,
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, 290316,
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, 290318,
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, 290322,
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, 290324,
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, 290326,
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, 290330,
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, 290338,
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, 290340,
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, 290344,
88
+ constraints: ["a6-0x6c4 == NULL || {a6-0x6c4, \"-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, 290348,
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, 290350,
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, 290354,
97
+ constraints: ["[sp+0x48] == NULL || {[sp+0x48], a6-0x6c6, \"--\", 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, 290358,
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, 290360,
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, 290362,
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, 290364,
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, 290368,
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, 290372,
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, 290374,
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, 401880,
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, 401884,
124
+ constraints: ["[s6+0x208] == 0x0", "[s6+0x210] == 0x0", "a4 == 0x0", "writable: s0-0xf0", "writable: s6+0x200", "{\"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, 401888,
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, 401892,
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, 401896,
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, 401898,
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, 401922,
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, 401926,
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, 401930,
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, 401934,
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, 401942,
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, 401952,
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, 401954,
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, 401956,
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, 401960,
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, 401964,
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, 401972,
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, 401976,
172
+ constraints: ["readable: a5", "writable: s0-0xf0", "a6+0x52c == NULL || {a6+0x52c, \"-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, 401980,
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, 401982,
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, 401986,
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, 401990,
184
+ constraints: ["writable: s0-0xe8", "[s0-0xf0] == NULL || {[s0-0xf0], a6+0x526, \"--\", 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, 401994,
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, 401998,
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, 402002,
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, 402006,
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, 402010,
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, 402012,
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, 402014,
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, 402208,
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, 402210,
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, 402214,
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, 402218,
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, 402232,
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, 402398,
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, 402402,
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, 652124,
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, 652124,
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, 652126,
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, 652126,
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, 652128,
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, 652128,
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, 652130,
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, 652130,
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, 652132,
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, 652132,
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, 652134,
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, 652134,
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, 652136,
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, 652136,
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, 652138,
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, 652138,
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, 652140,
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, 652140,
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, 652142,
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, 652142,
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, 652146,
289
+ constraints: ["a3 == 0x0", "readable: [s4-0x4d6]", "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, 652146,
292
+ constraints: ["[a1+0x8] == 0x0", "a3 != 0x0", "readable: [s4-0x4d6]", "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, 652150,
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, 652150,
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, 652154,
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, 652154,
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, 652158,
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, 652158,
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, 652160,
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, 652160,
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, 652162,
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, 652162,
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, 652164,
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, 652164,
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, 652166,
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, 652168,
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, 652172,
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, 652174,
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, 652212,
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, 652214,
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, 652218,
349
+ constraints: ["a2 == 0x1", "writable: s1", "a4+0x3c2 == NULL || {a4+0x3c2, 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, 652222,
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, 652224,
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, 652226,
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, 652228,
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, 652232,
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, 652236,
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, 652238,
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, 652240,
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, 652300,
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, 652320,
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, 652324,
382
+ constraints: ["writable: s0-0x50", "a5+0x358 == NULL || {a5+0x358, 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, 652328,
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, 652332,
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, 652336,
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, 652340,
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, 742282,
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, 742286,
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, 742290,
403
+ constraints: ["[[[a5-0x3ce]]] == 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, 742294,
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, 742298,
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, 742302,
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, 742304,
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, 742308,
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, 742328,
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, 742332,
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, 742334,
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, 742360,
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, 742364,
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, 742366,
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, 742368,
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, 742370,
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, 742372,
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, 742376,
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, 742378,
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, 742386,
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, 742390,
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, 742392,
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, 742396,
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, 742398,
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, 742402,
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, 742406,
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, 742408,
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, 742410,
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, 742412,
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, 742414,
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, 742418,
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, 742420,
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, 742422,
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, 742426,
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, 742428,
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, 742432,
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, 742434,
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, 742436,
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, 742438,
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, 743324,
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, 743332,
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, 743334,
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, 743352,
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, 743354,
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, 743458,
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
+