@runsec/mcp 1.0.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.
- package/dist/index.js +578 -0
- package/package.json +43 -0
- package/src/rules/data/rule-compliance-map.json +43563 -0
- package/src/rules/data/semgrep-rules/README-taint-overlays.md +21 -0
- package/src/rules/data/semgrep-rules/advanced-agent-cloud.yaml +802 -0
- package/src/rules/data/semgrep-rules/app-logic.yaml +445 -0
- package/src/rules/data/semgrep-rules/auth-keycloak.yaml +831 -0
- package/src/rules/data/semgrep-rules/browser-agent.yaml +260 -0
- package/src/rules/data/semgrep-rules/cloud-secrets.yaml +316 -0
- package/src/rules/data/semgrep-rules/csharp-dotnet.yaml +4864 -0
- package/src/rules/data/semgrep-rules/desktop-electron-pro.yaml +30 -0
- package/src/rules/data/semgrep-rules/desktop-vsto-suite.yaml +2759 -0
- package/src/rules/data/semgrep-rules/devops-security.yaml +393 -0
- package/src/rules/data/semgrep-rules/domain-access-management.yaml +1023 -0
- package/src/rules/data/semgrep-rules/domain-data-privacy.yaml +852 -0
- package/src/rules/data/semgrep-rules/domain-input-validation.yaml +2894 -0
- package/src/rules/data/semgrep-rules/domain-platform-hardening.yaml +1715 -0
- package/src/rules/data/semgrep-rules/ds-ml-security.yaml +2431 -0
- package/src/rules/data/semgrep-rules/fastapi-async.yaml +5953 -0
- package/src/rules/data/semgrep-rules/frontend-react.yaml +4035 -0
- package/src/rules/data/semgrep-rules/frontend-security.yaml +200 -0
- package/src/rules/data/semgrep-rules/go-core.yaml +4959 -0
- package/src/rules/data/semgrep-rules/hft-cpp-security.yaml +631 -0
- package/src/rules/data/semgrep-rules/infra-k8s-helm.yaml +4968 -0
- package/src/rules/data/semgrep-rules/integration-security.yaml +2362 -0
- package/src/rules/data/semgrep-rules/java-enterprise.yaml +14756 -0
- package/src/rules/data/semgrep-rules/java-spring.yaml +397 -0
- package/src/rules/data/semgrep-rules/license-compliance.yaml +186 -0
- package/src/rules/data/semgrep-rules/mobile-flutter.yaml +37 -0
- package/src/rules/data/semgrep-rules/mobile-security.yaml +721 -0
- package/src/rules/data/semgrep-rules/nodejs-nestjs.yaml +5164 -0
- package/src/rules/data/semgrep-rules/nodejs-security.yaml +326 -0
- package/src/rules/data/semgrep-rules/observability.yaml +381 -0
- package/src/rules/data/semgrep-rules/php-security.yaml +3601 -0
- package/src/rules/data/semgrep-rules/python-backend-pro.yaml +30 -0
- package/src/rules/data/semgrep-rules/python-django.yaml +181 -0
- package/src/rules/data/semgrep-rules/python-security.yaml +284 -0
- package/src/rules/data/semgrep-rules/ru-regulatory.yaml +496 -0
- package/src/rules/data/semgrep-rules/ruby-rails.yaml +3078 -0
- package/src/rules/data/semgrep-rules/rust-security.yaml +2701 -0
|
@@ -0,0 +1,2759 @@
|
|
|
1
|
+
rules:
|
|
2
|
+
- id: runsec.desktop-vsto-suite.ins-001
|
|
3
|
+
metadata:
|
|
4
|
+
runsec_version: v1.0
|
|
5
|
+
confidence: |-
|
|
6
|
+
0.9
|
|
7
|
+
exploit_scenario: |-
|
|
8
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
9
|
+
fix_template: |-
|
|
10
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
11
|
+
pattern-either:
|
|
12
|
+
- pattern: |-
|
|
13
|
+
webPreferences: { contextIsolation: false }
|
|
14
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-001\\b'
|
|
15
|
+
message: |-
|
|
16
|
+
RunSec Detection [INS-001]: CWE-94
|
|
17
|
+
languages:
|
|
18
|
+
- generic
|
|
19
|
+
severity: WARNING
|
|
20
|
+
- id: runsec.desktop-vsto-suite.ins-002
|
|
21
|
+
metadata:
|
|
22
|
+
runsec_version: v1.0
|
|
23
|
+
confidence: |-
|
|
24
|
+
0.9
|
|
25
|
+
exploit_scenario: |-
|
|
26
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
27
|
+
fix_template: |-
|
|
28
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
29
|
+
pattern-either:
|
|
30
|
+
- pattern: |-
|
|
31
|
+
webPreferences: { nodeIntegration: true }
|
|
32
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-002\\b'
|
|
33
|
+
message: |-
|
|
34
|
+
RunSec Detection [INS-002]: CWE-200
|
|
35
|
+
languages:
|
|
36
|
+
- generic
|
|
37
|
+
severity: WARNING
|
|
38
|
+
- id: runsec.desktop-vsto-suite.ins-003
|
|
39
|
+
metadata:
|
|
40
|
+
runsec_version: v1.0
|
|
41
|
+
confidence: |-
|
|
42
|
+
0.9
|
|
43
|
+
exploit_scenario: |-
|
|
44
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
45
|
+
fix_template: |-
|
|
46
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
47
|
+
pattern-either:
|
|
48
|
+
- pattern: |-
|
|
49
|
+
ipcMain.on('data', (event, arg) => eval(arg))
|
|
50
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-003\\b'
|
|
51
|
+
message: |-
|
|
52
|
+
RunSec Detection [INS-003]: CWE-749
|
|
53
|
+
languages:
|
|
54
|
+
- generic
|
|
55
|
+
severity: WARNING
|
|
56
|
+
- id: runsec.desktop-vsto-suite.ins-004
|
|
57
|
+
metadata:
|
|
58
|
+
runsec_version: v1.0
|
|
59
|
+
confidence: |-
|
|
60
|
+
0.9
|
|
61
|
+
exploit_scenario: |-
|
|
62
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
63
|
+
fix_template: |-
|
|
64
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
65
|
+
pattern-either:
|
|
66
|
+
- pattern: |-
|
|
67
|
+
new BinaryFormatter().Deserialize(stream)
|
|
68
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-004\\b'
|
|
69
|
+
message: |-
|
|
70
|
+
RunSec Detection [INS-004]: CWE-502
|
|
71
|
+
languages:
|
|
72
|
+
- generic
|
|
73
|
+
severity: WARNING
|
|
74
|
+
- id: runsec.desktop-vsto-suite.ins-005
|
|
75
|
+
metadata:
|
|
76
|
+
runsec_version: v1.0
|
|
77
|
+
confidence: |-
|
|
78
|
+
0.9
|
|
79
|
+
exploit_scenario: |-
|
|
80
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
81
|
+
fix_template: |-
|
|
82
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
83
|
+
pattern-either:
|
|
84
|
+
- pattern: |-
|
|
85
|
+
var doc = new XmlDocument();
|
|
86
|
+
doc.Load(stream);
|
|
87
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-005\\b'
|
|
88
|
+
message: |-
|
|
89
|
+
RunSec Detection [INS-005]: CWE-611
|
|
90
|
+
languages:
|
|
91
|
+
- generic
|
|
92
|
+
severity: WARNING
|
|
93
|
+
- id: runsec.desktop-vsto-suite.ins-006
|
|
94
|
+
metadata:
|
|
95
|
+
runsec_version: v1.0
|
|
96
|
+
confidence: |-
|
|
97
|
+
0.9
|
|
98
|
+
exploit_scenario: |-
|
|
99
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
100
|
+
fix_template: |-
|
|
101
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
102
|
+
pattern-either:
|
|
103
|
+
- pattern: |-
|
|
104
|
+
!include "MUI2.nsh"
|
|
105
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-006\\b'
|
|
106
|
+
message: |-
|
|
107
|
+
RunSec Detection [INS-006]: CWE-427
|
|
108
|
+
languages:
|
|
109
|
+
- generic
|
|
110
|
+
severity: WARNING
|
|
111
|
+
- id: runsec.desktop-vsto-suite.ins-007
|
|
112
|
+
metadata:
|
|
113
|
+
runsec_version: v1.0
|
|
114
|
+
confidence: |-
|
|
115
|
+
0.9
|
|
116
|
+
exploit_scenario: |-
|
|
117
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
118
|
+
fix_template: |-
|
|
119
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
120
|
+
pattern-either:
|
|
121
|
+
- pattern: |-
|
|
122
|
+
connectionString="Server=.;User ID=sa;Password=secret123"
|
|
123
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-007\\b'
|
|
124
|
+
message: |-
|
|
125
|
+
RunSec Detection [INS-007]: CWE-312
|
|
126
|
+
languages:
|
|
127
|
+
- generic
|
|
128
|
+
severity: WARNING
|
|
129
|
+
- id: runsec.desktop-vsto-suite.ins-008
|
|
130
|
+
metadata:
|
|
131
|
+
runsec_version: v1.0
|
|
132
|
+
confidence: |-
|
|
133
|
+
0.9
|
|
134
|
+
exploit_scenario: |-
|
|
135
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
136
|
+
fix_template: |-
|
|
137
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
138
|
+
pattern-either:
|
|
139
|
+
- pattern: |-
|
|
140
|
+
mainWindow.webContents.openDevTools()
|
|
141
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-008\\b'
|
|
142
|
+
message: |-
|
|
143
|
+
RunSec Detection [INS-008]: CWE-489
|
|
144
|
+
languages:
|
|
145
|
+
- generic
|
|
146
|
+
severity: WARNING
|
|
147
|
+
- id: runsec.desktop-vsto-suite.ins-009
|
|
148
|
+
metadata:
|
|
149
|
+
runsec_version: v1.0
|
|
150
|
+
confidence: |-
|
|
151
|
+
0.9
|
|
152
|
+
exploit_scenario: |-
|
|
153
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
154
|
+
fix_template: |-
|
|
155
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
156
|
+
pattern-either:
|
|
157
|
+
- pattern: |-
|
|
158
|
+
new BinaryFormatter().Deserialize(stream)
|
|
159
|
+
new JavaScriptSerializer().Deserialize<T>(data)
|
|
160
|
+
new XmlSerializer(type).Deserialize(untrustedStream)
|
|
161
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-009\\b'
|
|
162
|
+
message: |-
|
|
163
|
+
RunSec Detection [INS-009]: CWE Final Certification
|
|
164
|
+
languages:
|
|
165
|
+
- generic
|
|
166
|
+
severity: WARNING
|
|
167
|
+
- id: runsec.desktop-vsto-suite.ins-010
|
|
168
|
+
metadata:
|
|
169
|
+
runsec_version: v1.0
|
|
170
|
+
confidence: |-
|
|
171
|
+
0.9
|
|
172
|
+
exploit_scenario: |-
|
|
173
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
174
|
+
fix_template: |-
|
|
175
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
176
|
+
pattern-either:
|
|
177
|
+
- pattern: |-
|
|
178
|
+
Assembly.LoadFrom(basePath + userInput)
|
|
179
|
+
Type.GetType("Plugin." + userType)
|
|
180
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-010\\b'
|
|
181
|
+
message: |-
|
|
182
|
+
RunSec Detection [INS-010]: CWE Final Certification
|
|
183
|
+
languages:
|
|
184
|
+
- generic
|
|
185
|
+
severity: WARNING
|
|
186
|
+
- id: runsec.desktop-vsto-suite.ins-011
|
|
187
|
+
metadata:
|
|
188
|
+
runsec_version: v1.0
|
|
189
|
+
confidence: |-
|
|
190
|
+
0.9
|
|
191
|
+
exploit_scenario: |-
|
|
192
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
193
|
+
fix_template: |-
|
|
194
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
195
|
+
pattern-either:
|
|
196
|
+
- pattern: |-
|
|
197
|
+
[DllImport("mylib.dll")]
|
|
198
|
+
LoadLibrary(userPath) без LOAD_LIBRARY_SEARCH_SYSTEM32/absolute path
|
|
199
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-011\\b'
|
|
200
|
+
message: |-
|
|
201
|
+
RunSec Detection [INS-011]: CWE Final Certification
|
|
202
|
+
languages:
|
|
203
|
+
- generic
|
|
204
|
+
severity: WARNING
|
|
205
|
+
- id: runsec.desktop-vsto-suite.ins-012
|
|
206
|
+
metadata:
|
|
207
|
+
runsec_version: v1.0
|
|
208
|
+
confidence: |-
|
|
209
|
+
0.9
|
|
210
|
+
exploit_scenario: |-
|
|
211
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
212
|
+
fix_template: |-
|
|
213
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
214
|
+
pattern-either:
|
|
215
|
+
- pattern: |-
|
|
216
|
+
var doc = new XmlDocument(); doc.Load(xml);
|
|
217
|
+
new XmlTextReader(stream)
|
|
218
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-012\\b'
|
|
219
|
+
message: |-
|
|
220
|
+
RunSec Detection [INS-012]: CWE Final Certification
|
|
221
|
+
languages:
|
|
222
|
+
- generic
|
|
223
|
+
severity: WARNING
|
|
224
|
+
- id: runsec.desktop-vsto-suite.ins-013
|
|
225
|
+
metadata:
|
|
226
|
+
runsec_version: v1.0
|
|
227
|
+
confidence: |-
|
|
228
|
+
0.9
|
|
229
|
+
exploit_scenario: |-
|
|
230
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
231
|
+
fix_template: |-
|
|
232
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
233
|
+
pattern-either:
|
|
234
|
+
- pattern: |-
|
|
235
|
+
MD5.Create()
|
|
236
|
+
new SHA1Managed()
|
|
237
|
+
new DESCryptoServiceProvider()
|
|
238
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-013\\b'
|
|
239
|
+
message: |-
|
|
240
|
+
RunSec Detection [INS-013]: CWE Final Certification
|
|
241
|
+
languages:
|
|
242
|
+
- generic
|
|
243
|
+
severity: WARNING
|
|
244
|
+
- id: runsec.desktop-vsto-suite.ins-014
|
|
245
|
+
metadata:
|
|
246
|
+
runsec_version: v1.0
|
|
247
|
+
confidence: |-
|
|
248
|
+
0.9
|
|
249
|
+
exploit_scenario: |-
|
|
250
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
251
|
+
fix_template: |-
|
|
252
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
253
|
+
pattern-either:
|
|
254
|
+
- pattern: |-
|
|
255
|
+
if (File.Exists(path)) { using var fs = File.Open(path, ...); }
|
|
256
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-014\\b'
|
|
257
|
+
message: |-
|
|
258
|
+
RunSec Detection [INS-014]: CWE Final Certification
|
|
259
|
+
languages:
|
|
260
|
+
- generic
|
|
261
|
+
severity: WARNING
|
|
262
|
+
- id: runsec.desktop-vsto-suite.ins-015
|
|
263
|
+
metadata:
|
|
264
|
+
runsec_version: v1.0
|
|
265
|
+
confidence: |-
|
|
266
|
+
0.9
|
|
267
|
+
exploit_scenario: |-
|
|
268
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
269
|
+
fix_template: |-
|
|
270
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
271
|
+
pattern-either:
|
|
272
|
+
- pattern: |-
|
|
273
|
+
var ctx = WindowsIdentity.Impersonate(token); (без finally { ctx.Undo(); })
|
|
274
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-015\\b'
|
|
275
|
+
message: |-
|
|
276
|
+
RunSec Detection [INS-015]: CWE Final Certification
|
|
277
|
+
languages:
|
|
278
|
+
- generic
|
|
279
|
+
severity: WARNING
|
|
280
|
+
- id: runsec.desktop-vsto-suite.ins-016
|
|
281
|
+
metadata:
|
|
282
|
+
runsec_version: v1.0
|
|
283
|
+
confidence: |-
|
|
284
|
+
0.9
|
|
285
|
+
exploit_scenario: |-
|
|
286
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
287
|
+
fix_template: |-
|
|
288
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
289
|
+
pattern-either:
|
|
290
|
+
- pattern: |-
|
|
291
|
+
byte* p = stackalloc byte[len]; p[i + offset] = value;
|
|
292
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-016\\b'
|
|
293
|
+
message: |-
|
|
294
|
+
RunSec Detection [INS-016]: CWE Final Certification
|
|
295
|
+
languages:
|
|
296
|
+
- generic
|
|
297
|
+
severity: WARNING
|
|
298
|
+
- id: runsec.desktop-vsto-suite.ins-017
|
|
299
|
+
metadata:
|
|
300
|
+
runsec_version: v1.0
|
|
301
|
+
confidence: |-
|
|
302
|
+
0.9
|
|
303
|
+
exploit_scenario: |-
|
|
304
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
305
|
+
fix_template: |-
|
|
306
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
307
|
+
pattern-either:
|
|
308
|
+
- pattern: |-
|
|
309
|
+
int size = count * elementSize; var buf = new byte[size];
|
|
310
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-017\\b'
|
|
311
|
+
message: |-
|
|
312
|
+
RunSec Detection [INS-017]: CWE Final Certification
|
|
313
|
+
languages:
|
|
314
|
+
- generic
|
|
315
|
+
severity: WARNING
|
|
316
|
+
- id: runsec.desktop-vsto-suite.ins-018
|
|
317
|
+
metadata:
|
|
318
|
+
runsec_version: v1.0
|
|
319
|
+
confidence: |-
|
|
320
|
+
0.9
|
|
321
|
+
exploit_scenario: |-
|
|
322
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
323
|
+
fix_template: |-
|
|
324
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
325
|
+
pattern-either:
|
|
326
|
+
- pattern: |-
|
|
327
|
+
var fs = new FileStream(...);
|
|
328
|
+
var ev = new AutoResetEvent(false); (без using/dispose)
|
|
329
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-018\\b'
|
|
330
|
+
message: |-
|
|
331
|
+
RunSec Detection [INS-018]: CWE Final Certification
|
|
332
|
+
languages:
|
|
333
|
+
- generic
|
|
334
|
+
severity: WARNING
|
|
335
|
+
- id: runsec.desktop-vsto-suite.ins-019
|
|
336
|
+
metadata:
|
|
337
|
+
runsec_version: v1.0
|
|
338
|
+
confidence: |-
|
|
339
|
+
0.9
|
|
340
|
+
exploit_scenario: |-
|
|
341
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
342
|
+
fix_template: |-
|
|
343
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
344
|
+
pattern-either:
|
|
345
|
+
- pattern: |-
|
|
346
|
+
Registry.SetValue(userKey, name, userValue)
|
|
347
|
+
RegistryKey.OpenSubKey(userPath)
|
|
348
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-019\\b'
|
|
349
|
+
message: |-
|
|
350
|
+
RunSec Detection [INS-019]: CWE Final Certification
|
|
351
|
+
languages:
|
|
352
|
+
- generic
|
|
353
|
+
severity: WARNING
|
|
354
|
+
- id: runsec.desktop-vsto-suite.ins-020
|
|
355
|
+
metadata:
|
|
356
|
+
runsec_version: v1.0
|
|
357
|
+
confidence: |-
|
|
358
|
+
0.9
|
|
359
|
+
exploit_scenario: |-
|
|
360
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
361
|
+
fix_template: |-
|
|
362
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
363
|
+
pattern-either:
|
|
364
|
+
- pattern: |-
|
|
365
|
+
lock(this)
|
|
366
|
+
lock(typeof(Service))
|
|
367
|
+
lock("global")
|
|
368
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-020\\b'
|
|
369
|
+
message: |-
|
|
370
|
+
RunSec Detection [INS-020]: CWE Final Certification
|
|
371
|
+
languages:
|
|
372
|
+
- generic
|
|
373
|
+
severity: WARNING
|
|
374
|
+
- id: runsec.desktop-vsto-suite.ins-021
|
|
375
|
+
metadata:
|
|
376
|
+
runsec_version: v1.0
|
|
377
|
+
confidence: |-
|
|
378
|
+
0.9
|
|
379
|
+
exploit_scenario: |-
|
|
380
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
381
|
+
fix_template: |-
|
|
382
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
383
|
+
pattern-either:
|
|
384
|
+
- pattern: |-
|
|
385
|
+
var p = Marshal.AllocHGlobal(size); Marshal.StructureToPtr(obj, p, false); (без FreeHGlobal)
|
|
386
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-021\\b'
|
|
387
|
+
message: |-
|
|
388
|
+
RunSec Detection [INS-021]: CWE Final Certification
|
|
389
|
+
languages:
|
|
390
|
+
- generic
|
|
391
|
+
severity: WARNING
|
|
392
|
+
- id: runsec.desktop-vsto-suite.ins-022
|
|
393
|
+
metadata:
|
|
394
|
+
runsec_version: v1.0
|
|
395
|
+
confidence: |-
|
|
396
|
+
0.9
|
|
397
|
+
exploit_scenario: |-
|
|
398
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
399
|
+
fix_template: |-
|
|
400
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
401
|
+
pattern-either:
|
|
402
|
+
- pattern: |-
|
|
403
|
+
new NamedPipeServerStream("pipe")
|
|
404
|
+
new Mutex(false, "Global\\Name")
|
|
405
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-022\\b'
|
|
406
|
+
message: |-
|
|
407
|
+
RunSec Detection [INS-022]: CWE Final Certification
|
|
408
|
+
languages:
|
|
409
|
+
- generic
|
|
410
|
+
severity: WARNING
|
|
411
|
+
- id: runsec.desktop-vsto-suite.ins-023
|
|
412
|
+
metadata:
|
|
413
|
+
runsec_version: v1.0
|
|
414
|
+
confidence: |-
|
|
415
|
+
0.9
|
|
416
|
+
exploit_scenario: |-
|
|
417
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
418
|
+
fix_template: |-
|
|
419
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
420
|
+
pattern-either:
|
|
421
|
+
- pattern: |-
|
|
422
|
+
var pipe = "svc_" + userInput; new NamedPipeServerStream(pipe)
|
|
423
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-023\\b'
|
|
424
|
+
message: |-
|
|
425
|
+
RunSec Detection [INS-023]: CWE Final Certification
|
|
426
|
+
languages:
|
|
427
|
+
- generic
|
|
428
|
+
severity: WARNING
|
|
429
|
+
- id: runsec.desktop-vsto-suite.ins-024
|
|
430
|
+
metadata:
|
|
431
|
+
runsec_version: v1.0
|
|
432
|
+
confidence: |-
|
|
433
|
+
0.9
|
|
434
|
+
exploit_scenario: |-
|
|
435
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
436
|
+
fix_template: |-
|
|
437
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
438
|
+
pattern-either:
|
|
439
|
+
- pattern: |-
|
|
440
|
+
NativeCall(control.Handle)
|
|
441
|
+
NativeCall(proc.Handle)
|
|
442
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-024\\b'
|
|
443
|
+
message: |-
|
|
444
|
+
RunSec Detection [INS-024]: CWE Final Certification
|
|
445
|
+
languages:
|
|
446
|
+
- generic
|
|
447
|
+
severity: WARNING
|
|
448
|
+
- id: runsec.desktop-vsto-suite.ins-025
|
|
449
|
+
metadata:
|
|
450
|
+
runsec_version: v1.0
|
|
451
|
+
confidence: |-
|
|
452
|
+
0.9
|
|
453
|
+
exploit_scenario: |-
|
|
454
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
455
|
+
fix_template: |-
|
|
456
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
457
|
+
pattern-either:
|
|
458
|
+
- pattern: |-
|
|
459
|
+
[DllImport("msvcrt.dll")] static extern IntPtr strcpy(...)
|
|
460
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-025\\b'
|
|
461
|
+
message: |-
|
|
462
|
+
RunSec Detection [INS-025]: CWE Final Certification
|
|
463
|
+
languages:
|
|
464
|
+
- generic
|
|
465
|
+
severity: WARNING
|
|
466
|
+
- id: runsec.desktop-vsto-suite.ins-026
|
|
467
|
+
metadata:
|
|
468
|
+
runsec_version: v1.0
|
|
469
|
+
confidence: |-
|
|
470
|
+
0.9
|
|
471
|
+
exploit_scenario: |-
|
|
472
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
473
|
+
fix_template: |-
|
|
474
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
475
|
+
pattern-either:
|
|
476
|
+
- pattern: |-
|
|
477
|
+
Activator.CreateInstance(null, typeName)
|
|
478
|
+
AppDomain.CreateInstance(..., typeName)
|
|
479
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-026\\b'
|
|
480
|
+
message: |-
|
|
481
|
+
RunSec Detection [INS-026]: CWE Final Certification
|
|
482
|
+
languages:
|
|
483
|
+
- generic
|
|
484
|
+
severity: WARNING
|
|
485
|
+
- id: runsec.desktop-vsto-suite.ins-027
|
|
486
|
+
metadata:
|
|
487
|
+
runsec_version: v1.0
|
|
488
|
+
confidence: |-
|
|
489
|
+
0.9
|
|
490
|
+
exploit_scenario: |-
|
|
491
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
492
|
+
fix_template: |-
|
|
493
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
494
|
+
pattern-either:
|
|
495
|
+
- pattern: |-
|
|
496
|
+
string apiKey = "..."
|
|
497
|
+
string password = input
|
|
498
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-027\\b'
|
|
499
|
+
message: |-
|
|
500
|
+
RunSec Detection [INS-027]: CWE Final Certification
|
|
501
|
+
languages:
|
|
502
|
+
- generic
|
|
503
|
+
severity: WARNING
|
|
504
|
+
- id: runsec.desktop-vsto-suite.ins-028
|
|
505
|
+
metadata:
|
|
506
|
+
runsec_version: v1.0
|
|
507
|
+
confidence: |-
|
|
508
|
+
0.9
|
|
509
|
+
exploit_scenario: |-
|
|
510
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
511
|
+
fix_template: |-
|
|
512
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
513
|
+
pattern-either:
|
|
514
|
+
- pattern: |-
|
|
515
|
+
try { ... } catch { }
|
|
516
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-028\\b'
|
|
517
|
+
message: |-
|
|
518
|
+
RunSec Detection [INS-028]: CWE Final Certification
|
|
519
|
+
languages:
|
|
520
|
+
- generic
|
|
521
|
+
severity: WARNING
|
|
522
|
+
- id: runsec.desktop-vsto-suite.ins-029
|
|
523
|
+
metadata:
|
|
524
|
+
runsec_version: v1.0
|
|
525
|
+
confidence: |-
|
|
526
|
+
0.9
|
|
527
|
+
exploit_scenario: |-
|
|
528
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
529
|
+
fix_template: |-
|
|
530
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
531
|
+
pattern-either:
|
|
532
|
+
- pattern: |-
|
|
533
|
+
if (!NativeCall(...)) отсутствует проверка
|
|
534
|
+
HRESULT игнорируется
|
|
535
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-029\\b'
|
|
536
|
+
message: |-
|
|
537
|
+
RunSec Detection [INS-029]: CWE Final Certification
|
|
538
|
+
languages:
|
|
539
|
+
- generic
|
|
540
|
+
severity: WARNING
|
|
541
|
+
- id: runsec.desktop-vsto-suite.ins-030
|
|
542
|
+
metadata:
|
|
543
|
+
runsec_version: v1.0
|
|
544
|
+
confidence: |-
|
|
545
|
+
0.9
|
|
546
|
+
exploit_scenario: |-
|
|
547
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
548
|
+
fix_template: |-
|
|
549
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
550
|
+
pattern-either:
|
|
551
|
+
- pattern: |-
|
|
552
|
+
var app = new Microsoft.Office.Interop... без release в finally
|
|
553
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-030\\b'
|
|
554
|
+
message: |-
|
|
555
|
+
RunSec Detection [INS-030]: CWE Final Certification
|
|
556
|
+
languages:
|
|
557
|
+
- generic
|
|
558
|
+
severity: WARNING
|
|
559
|
+
- id: runsec.desktop-vsto-suite.ins-031
|
|
560
|
+
metadata:
|
|
561
|
+
runsec_version: v1.0
|
|
562
|
+
confidence: |-
|
|
563
|
+
0.9
|
|
564
|
+
exploit_scenario: |-
|
|
565
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
566
|
+
fix_template: |-
|
|
567
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
568
|
+
pattern-either:
|
|
569
|
+
- pattern: |-
|
|
570
|
+
static readonly byte[] Key = {...}; aes.Key = Key;
|
|
571
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-031\\b'
|
|
572
|
+
message: |-
|
|
573
|
+
RunSec Detection [INS-031]: CWE Final Certification
|
|
574
|
+
languages:
|
|
575
|
+
- generic
|
|
576
|
+
severity: WARNING
|
|
577
|
+
- id: runsec.desktop-vsto-suite.ins-032
|
|
578
|
+
metadata:
|
|
579
|
+
runsec_version: v1.0
|
|
580
|
+
confidence: |-
|
|
581
|
+
0.9
|
|
582
|
+
exploit_scenario: |-
|
|
583
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
584
|
+
fix_template: |-
|
|
585
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
586
|
+
pattern-either:
|
|
587
|
+
- pattern: |-
|
|
588
|
+
var rnd = new Random(); для IV/паролей/токенов
|
|
589
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-032\\b'
|
|
590
|
+
message: |-
|
|
591
|
+
RunSec Detection [INS-032]: CWE Final Certification
|
|
592
|
+
languages:
|
|
593
|
+
- generic
|
|
594
|
+
severity: WARNING
|
|
595
|
+
- id: runsec.desktop-vsto-suite.ins-033
|
|
596
|
+
metadata:
|
|
597
|
+
runsec_version: v1.0
|
|
598
|
+
confidence: |-
|
|
599
|
+
0.9
|
|
600
|
+
exploit_scenario: |-
|
|
601
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
602
|
+
fix_template: |-
|
|
603
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
604
|
+
pattern-either:
|
|
605
|
+
- pattern: |-
|
|
606
|
+
new RSACryptoServiceProvider(1024)
|
|
607
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-033\\b'
|
|
608
|
+
message: |-
|
|
609
|
+
RunSec Detection [INS-033]: CWE Final Certification
|
|
610
|
+
languages:
|
|
611
|
+
- generic
|
|
612
|
+
severity: WARNING
|
|
613
|
+
- id: runsec.desktop-vsto-suite.ins-034
|
|
614
|
+
metadata:
|
|
615
|
+
runsec_version: v1.0
|
|
616
|
+
confidence: |-
|
|
617
|
+
0.9
|
|
618
|
+
exploit_scenario: |-
|
|
619
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
620
|
+
fix_template: |-
|
|
621
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
622
|
+
pattern-either:
|
|
623
|
+
- pattern: |-
|
|
624
|
+
var aes = new AesManaged { Key = keyBytes, IV = ivBytes }; где keyBytes/ivBytes заданы как static literals
|
|
625
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-034\\b'
|
|
626
|
+
message: |-
|
|
627
|
+
RunSec Detection [INS-034]: CWE Final Certification
|
|
628
|
+
languages:
|
|
629
|
+
- generic
|
|
630
|
+
severity: WARNING
|
|
631
|
+
- id: runsec.desktop-vsto-suite.ins-035
|
|
632
|
+
metadata:
|
|
633
|
+
runsec_version: v1.0
|
|
634
|
+
confidence: |-
|
|
635
|
+
0.9
|
|
636
|
+
exploit_scenario: |-
|
|
637
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
638
|
+
fix_template: |-
|
|
639
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
640
|
+
pattern-either:
|
|
641
|
+
- pattern: |-
|
|
642
|
+
new Random().Next(...) для auth token / salt / reset code
|
|
643
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-035\\b'
|
|
644
|
+
message: |-
|
|
645
|
+
RunSec Detection [INS-035]: CWE Final Certification
|
|
646
|
+
languages:
|
|
647
|
+
- generic
|
|
648
|
+
severity: WARNING
|
|
649
|
+
- id: runsec.desktop-vsto-suite.ins-036
|
|
650
|
+
metadata:
|
|
651
|
+
runsec_version: v1.0
|
|
652
|
+
confidence: |-
|
|
653
|
+
0.9
|
|
654
|
+
exploit_scenario: |-
|
|
655
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
656
|
+
fix_template: |-
|
|
657
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
658
|
+
pattern-either:
|
|
659
|
+
- pattern: |-
|
|
660
|
+
dynamic obj = JsonConvert.DeserializeObject<dynamic>(input) и последующий direct access
|
|
661
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-036\\b'
|
|
662
|
+
message: |-
|
|
663
|
+
RunSec Detection [INS-036]: CWE Final Certification
|
|
664
|
+
languages:
|
|
665
|
+
- generic
|
|
666
|
+
severity: WARNING
|
|
667
|
+
- id: runsec.desktop-vsto-suite.ins-037
|
|
668
|
+
metadata:
|
|
669
|
+
runsec_version: v1.0
|
|
670
|
+
confidence: |-
|
|
671
|
+
0.9
|
|
672
|
+
exploit_scenario: |-
|
|
673
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
674
|
+
fix_template: |-
|
|
675
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
676
|
+
pattern-either:
|
|
677
|
+
- pattern: |-
|
|
678
|
+
var xml = new XmlDocument(); xml.LoadXml(untrusted) без XmlResolver = null и запрета DTD
|
|
679
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-037\\b'
|
|
680
|
+
message: |-
|
|
681
|
+
RunSec Detection [INS-037]: CWE Final Certification
|
|
682
|
+
languages:
|
|
683
|
+
- generic
|
|
684
|
+
severity: WARNING
|
|
685
|
+
- id: runsec.desktop-vsto-suite.ins-038
|
|
686
|
+
metadata:
|
|
687
|
+
runsec_version: v1.0
|
|
688
|
+
confidence: |-
|
|
689
|
+
0.9
|
|
690
|
+
exploit_scenario: |-
|
|
691
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
692
|
+
fix_template: |-
|
|
693
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
694
|
+
pattern-either:
|
|
695
|
+
- pattern: |-
|
|
696
|
+
webBrowser.Navigate(userInputUrl) без Uri.TryCreate и uri.Scheme == Uri.UriSchemeHttps
|
|
697
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-038\\b'
|
|
698
|
+
message: |-
|
|
699
|
+
RunSec Detection [INS-038]: CWE Final Certification
|
|
700
|
+
languages:
|
|
701
|
+
- generic
|
|
702
|
+
severity: WARNING
|
|
703
|
+
- id: runsec.desktop-vsto-suite.ins-039
|
|
704
|
+
metadata:
|
|
705
|
+
runsec_version: v1.0
|
|
706
|
+
confidence: |-
|
|
707
|
+
0.9
|
|
708
|
+
exploit_scenario: |-
|
|
709
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
710
|
+
fix_template: |-
|
|
711
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
712
|
+
pattern-either:
|
|
713
|
+
- pattern: |-
|
|
714
|
+
[Conditional("DEBUG")] void DisableSslValidation(){...}
|
|
715
|
+
[Conditional("DEBUG")] void BypassLicense(){...}
|
|
716
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-039\\b'
|
|
717
|
+
message: |-
|
|
718
|
+
RunSec Detection [INS-039]: CWE Final Certification
|
|
719
|
+
languages:
|
|
720
|
+
- generic
|
|
721
|
+
severity: WARNING
|
|
722
|
+
- id: runsec.desktop-vsto-suite.ins-040
|
|
723
|
+
metadata:
|
|
724
|
+
runsec_version: v1.0
|
|
725
|
+
confidence: |-
|
|
726
|
+
0.9
|
|
727
|
+
exploit_scenario: |-
|
|
728
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
729
|
+
fix_template: |-
|
|
730
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
731
|
+
pattern-either:
|
|
732
|
+
- pattern: |-
|
|
733
|
+
Task.Run(() => Globals.ThisAddIn.Application.ActiveDocument...)
|
|
734
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-040\\b'
|
|
735
|
+
message: |-
|
|
736
|
+
RunSec Detection [INS-040]: CWE Final Certification
|
|
737
|
+
languages:
|
|
738
|
+
- generic
|
|
739
|
+
severity: WARNING
|
|
740
|
+
- id: runsec.desktop-vsto-suite.ins-041
|
|
741
|
+
metadata:
|
|
742
|
+
runsec_version: v1.0
|
|
743
|
+
confidence: |-
|
|
744
|
+
0.9
|
|
745
|
+
exploit_scenario: |-
|
|
746
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
747
|
+
fix_template: |-
|
|
748
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
749
|
+
pattern-either:
|
|
750
|
+
- pattern: |-
|
|
751
|
+
В main process не задан CSP или CSP без frame-ancestors 'none'
|
|
752
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-041\\b'
|
|
753
|
+
message: |-
|
|
754
|
+
RunSec Detection [INS-041]: CWE Final Certification
|
|
755
|
+
languages:
|
|
756
|
+
- generic
|
|
757
|
+
severity: WARNING
|
|
758
|
+
- id: runsec.desktop-vsto-suite.ins-042
|
|
759
|
+
metadata:
|
|
760
|
+
runsec_version: v1.0
|
|
761
|
+
confidence: |-
|
|
762
|
+
0.9
|
|
763
|
+
exploit_scenario: |-
|
|
764
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
765
|
+
fix_template: |-
|
|
766
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
767
|
+
pattern-either:
|
|
768
|
+
- pattern: |-
|
|
769
|
+
var p = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(IntPtr))) для структуры большего размера
|
|
770
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-042\\b'
|
|
771
|
+
message: |-
|
|
772
|
+
RunSec Detection [INS-042]: CWE Final Certification
|
|
773
|
+
languages:
|
|
774
|
+
- generic
|
|
775
|
+
severity: WARNING
|
|
776
|
+
- id: runsec.desktop-vsto-suite.ins-043
|
|
777
|
+
metadata:
|
|
778
|
+
runsec_version: v1.0
|
|
779
|
+
confidence: |-
|
|
780
|
+
0.9
|
|
781
|
+
exploit_scenario: |-
|
|
782
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
783
|
+
fix_template: |-
|
|
784
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
785
|
+
pattern-either:
|
|
786
|
+
- pattern: |-
|
|
787
|
+
Marshal.AllocHGlobal(input.Length) для wide-char строк
|
|
788
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-043\\b'
|
|
789
|
+
message: |-
|
|
790
|
+
RunSec Detection [INS-043]: CWE Final Certification
|
|
791
|
+
languages:
|
|
792
|
+
- generic
|
|
793
|
+
severity: WARNING
|
|
794
|
+
- id: runsec.desktop-vsto-suite.ins-044
|
|
795
|
+
metadata:
|
|
796
|
+
runsec_version: v1.0
|
|
797
|
+
confidence: |-
|
|
798
|
+
0.9
|
|
799
|
+
exploit_scenario: |-
|
|
800
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
801
|
+
fix_template: |-
|
|
802
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
803
|
+
pattern-either:
|
|
804
|
+
- pattern: |-
|
|
805
|
+
AllocHGlobal(16); Marshal.StructureToPtr(largeStruct, ptr, false)
|
|
806
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-044\\b'
|
|
807
|
+
message: |-
|
|
808
|
+
RunSec Detection [INS-044]: CWE Final Certification
|
|
809
|
+
languages:
|
|
810
|
+
- generic
|
|
811
|
+
severity: WARNING
|
|
812
|
+
- id: runsec.desktop-vsto-suite.ins-045
|
|
813
|
+
metadata:
|
|
814
|
+
runsec_version: v1.0
|
|
815
|
+
confidence: |-
|
|
816
|
+
0.9
|
|
817
|
+
exploit_scenario: |-
|
|
818
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
819
|
+
fix_template: |-
|
|
820
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
821
|
+
pattern-either:
|
|
822
|
+
- pattern: |-
|
|
823
|
+
Marshal.Copy(src, 0, ptr, userLen)
|
|
824
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-045\\b'
|
|
825
|
+
message: |-
|
|
826
|
+
RunSec Detection [INS-045]: CWE Final Certification
|
|
827
|
+
languages:
|
|
828
|
+
- generic
|
|
829
|
+
severity: WARNING
|
|
830
|
+
- id: runsec.desktop-vsto-suite.ins-046
|
|
831
|
+
metadata:
|
|
832
|
+
runsec_version: v1.0
|
|
833
|
+
confidence: |-
|
|
834
|
+
0.9
|
|
835
|
+
exploit_scenario: |-
|
|
836
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
837
|
+
fix_template: |-
|
|
838
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
839
|
+
pattern-either:
|
|
840
|
+
- pattern: |-
|
|
841
|
+
logger.Error(ex.ToString())
|
|
842
|
+
MessageBox.Show(ex.ToString()) в production path
|
|
843
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-046\\b'
|
|
844
|
+
message: |-
|
|
845
|
+
RunSec Detection [INS-046]: CWE Final Certification
|
|
846
|
+
languages:
|
|
847
|
+
- generic
|
|
848
|
+
severity: WARNING
|
|
849
|
+
- id: runsec.desktop-vsto-suite.ins-047
|
|
850
|
+
metadata:
|
|
851
|
+
runsec_version: v1.0
|
|
852
|
+
confidence: |-
|
|
853
|
+
0.9
|
|
854
|
+
exploit_scenario: |-
|
|
855
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
856
|
+
fix_template: |-
|
|
857
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
858
|
+
pattern-either:
|
|
859
|
+
- pattern: |-
|
|
860
|
+
app.commandLine.appendSwitch("enable-logging", "stderr") + export raw crash details
|
|
861
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-047\\b'
|
|
862
|
+
message: |-
|
|
863
|
+
RunSec Detection [INS-047]: CWE Final Certification
|
|
864
|
+
languages:
|
|
865
|
+
- generic
|
|
866
|
+
severity: WARNING
|
|
867
|
+
- id: runsec.desktop-vsto-suite.ins-048
|
|
868
|
+
metadata:
|
|
869
|
+
runsec_version: v1.0
|
|
870
|
+
confidence: |-
|
|
871
|
+
0.9
|
|
872
|
+
exploit_scenario: |-
|
|
873
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
874
|
+
fix_template: |-
|
|
875
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
876
|
+
pattern-either:
|
|
877
|
+
- pattern: |-
|
|
878
|
+
session.setPermissionRequestHandler((_wc,_perm,cb)=>cb(true))
|
|
879
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-048\\b'
|
|
880
|
+
message: |-
|
|
881
|
+
RunSec Detection [INS-048]: CWE Final Certification
|
|
882
|
+
languages:
|
|
883
|
+
- generic
|
|
884
|
+
severity: WARNING
|
|
885
|
+
- id: runsec.desktop-vsto-suite.ins-049
|
|
886
|
+
metadata:
|
|
887
|
+
runsec_version: v1.0
|
|
888
|
+
confidence: |-
|
|
889
|
+
0.9
|
|
890
|
+
exploit_scenario: |-
|
|
891
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
892
|
+
fix_template: |-
|
|
893
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
894
|
+
pattern-either:
|
|
895
|
+
- pattern: |-
|
|
896
|
+
shell.openExternal(userUrl)
|
|
897
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-049\\b'
|
|
898
|
+
message: |-
|
|
899
|
+
RunSec Detection [INS-049]: CWE Final Certification
|
|
900
|
+
languages:
|
|
901
|
+
- generic
|
|
902
|
+
severity: WARNING
|
|
903
|
+
- id: runsec.desktop-vsto-suite.ins-050
|
|
904
|
+
metadata:
|
|
905
|
+
runsec_version: v1.0
|
|
906
|
+
confidence: |-
|
|
907
|
+
0.9
|
|
908
|
+
exploit_scenario: |-
|
|
909
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
910
|
+
fix_template: |-
|
|
911
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
912
|
+
pattern-either:
|
|
913
|
+
- pattern: |-
|
|
914
|
+
new BrowserWindow({ webPreferences: { sandbox: false } })
|
|
915
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-050\\b'
|
|
916
|
+
message: |-
|
|
917
|
+
RunSec Detection [INS-050]: CWE Final Certification
|
|
918
|
+
languages:
|
|
919
|
+
- generic
|
|
920
|
+
severity: WARNING
|
|
921
|
+
- id: runsec.desktop-vsto-suite.ins-051
|
|
922
|
+
metadata:
|
|
923
|
+
runsec_version: v1.0
|
|
924
|
+
confidence: |-
|
|
925
|
+
0.9
|
|
926
|
+
exploit_scenario: |-
|
|
927
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
928
|
+
fix_template: |-
|
|
929
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
930
|
+
pattern-either:
|
|
931
|
+
- pattern: |-
|
|
932
|
+
ipcMain.handle("cmd", (_e,args)=>run(args))
|
|
933
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-051\\b'
|
|
934
|
+
message: |-
|
|
935
|
+
RunSec Detection [INS-051]: CWE Final Certification
|
|
936
|
+
languages:
|
|
937
|
+
- generic
|
|
938
|
+
severity: WARNING
|
|
939
|
+
- id: runsec.desktop-vsto-suite.ins-052
|
|
940
|
+
metadata:
|
|
941
|
+
runsec_version: v1.0
|
|
942
|
+
confidence: |-
|
|
943
|
+
0.9
|
|
944
|
+
exploit_scenario: |-
|
|
945
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
946
|
+
fix_template: |-
|
|
947
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
948
|
+
pattern-either:
|
|
949
|
+
- pattern: |-
|
|
950
|
+
autoUpdater.setFeedURL(userControlledUrl)
|
|
951
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-052\\b'
|
|
952
|
+
message: |-
|
|
953
|
+
RunSec Detection [INS-052]: CWE Final Certification
|
|
954
|
+
languages:
|
|
955
|
+
- generic
|
|
956
|
+
severity: WARNING
|
|
957
|
+
- id: runsec.desktop-vsto-suite.ins-053
|
|
958
|
+
metadata:
|
|
959
|
+
runsec_version: v1.0
|
|
960
|
+
confidence: |-
|
|
961
|
+
0.9
|
|
962
|
+
exploit_scenario: |-
|
|
963
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
964
|
+
fix_template: |-
|
|
965
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
966
|
+
pattern-either:
|
|
967
|
+
- pattern: |-
|
|
968
|
+
if(doc.BuiltInDocumentProperties["Company"]=="Trusted"){LoadPlugin();}
|
|
969
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-053\\b'
|
|
970
|
+
message: |-
|
|
971
|
+
RunSec Detection [INS-053]: CWE Final Certification
|
|
972
|
+
languages:
|
|
973
|
+
- generic
|
|
974
|
+
severity: WARNING
|
|
975
|
+
- id: runsec.desktop-vsto-suite.ins-054
|
|
976
|
+
metadata:
|
|
977
|
+
runsec_version: v1.0
|
|
978
|
+
confidence: |-
|
|
979
|
+
0.9
|
|
980
|
+
exploit_scenario: |-
|
|
981
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
982
|
+
fix_template: |-
|
|
983
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
984
|
+
pattern-either:
|
|
985
|
+
- pattern: |-
|
|
986
|
+
[DllImport("contoso_helper.dll")]
|
|
987
|
+
[DllImport(@"plugins\myext.dll")]
|
|
988
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-054\\b'
|
|
989
|
+
message: |-
|
|
990
|
+
RunSec Detection [INS-054]: CWE-427
|
|
991
|
+
languages:
|
|
992
|
+
- generic
|
|
993
|
+
severity: WARNING
|
|
994
|
+
- id: runsec.desktop-vsto-suite.ins-055
|
|
995
|
+
metadata:
|
|
996
|
+
runsec_version: v1.0
|
|
997
|
+
confidence: |-
|
|
998
|
+
0.9
|
|
999
|
+
exploit_scenario: |-
|
|
1000
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1001
|
+
fix_template: |-
|
|
1002
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1003
|
+
pattern-either:
|
|
1004
|
+
- pattern: |-
|
|
1005
|
+
Log.Info(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData))
|
|
1006
|
+
logger.Debug($"Local={Environment.GetFolderPath(SpecialFolder.LocalApplicationData)}")
|
|
1007
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-055\\b'
|
|
1008
|
+
message: |-
|
|
1009
|
+
RunSec Detection [INS-055]: CWE-497
|
|
1010
|
+
languages:
|
|
1011
|
+
- generic
|
|
1012
|
+
severity: WARNING
|
|
1013
|
+
- id: runsec.desktop-vsto-suite.ins-056
|
|
1014
|
+
metadata:
|
|
1015
|
+
runsec_version: v1.0
|
|
1016
|
+
confidence: |-
|
|
1017
|
+
0.9
|
|
1018
|
+
exploit_scenario: |-
|
|
1019
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1020
|
+
fix_template: |-
|
|
1021
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1022
|
+
pattern-either:
|
|
1023
|
+
- pattern: |-
|
|
1024
|
+
LoadLibrary(Path.Combine(Path.GetTempPath(), userDll))
|
|
1025
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-056\\b'
|
|
1026
|
+
message: |-
|
|
1027
|
+
RunSec Detection [INS-056]: CWE-427
|
|
1028
|
+
languages:
|
|
1029
|
+
- generic
|
|
1030
|
+
severity: WARNING
|
|
1031
|
+
- id: runsec.desktop-vsto-suite.ins-057
|
|
1032
|
+
metadata:
|
|
1033
|
+
runsec_version: v1.0
|
|
1034
|
+
confidence: |-
|
|
1035
|
+
0.9
|
|
1036
|
+
exploit_scenario: |-
|
|
1037
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1038
|
+
fix_template: |-
|
|
1039
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1040
|
+
pattern-either:
|
|
1041
|
+
- pattern: |-
|
|
1042
|
+
Assembly.LoadFile(Path.Combine(Environment.GetFolderPath(SpecialFolder.UserProfile), "Downloads\\ext.dll"))
|
|
1043
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-057\\b'
|
|
1044
|
+
message: |-
|
|
1045
|
+
RunSec Detection [INS-057]: CWE-427
|
|
1046
|
+
languages:
|
|
1047
|
+
- generic
|
|
1048
|
+
severity: WARNING
|
|
1049
|
+
- id: runsec.desktop-vsto-suite.ins-058
|
|
1050
|
+
metadata:
|
|
1051
|
+
runsec_version: v1.0
|
|
1052
|
+
confidence: |-
|
|
1053
|
+
0.9
|
|
1054
|
+
exploit_scenario: |-
|
|
1055
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1056
|
+
fix_template: |-
|
|
1057
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1058
|
+
pattern-either:
|
|
1059
|
+
- pattern: |-
|
|
1060
|
+
pathText.Text = Environment.GetFolderPath(SpecialFolder.Desktop)
|
|
1061
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-058\\b'
|
|
1062
|
+
message: |-
|
|
1063
|
+
RunSec Detection [INS-058]: CWE-497
|
|
1064
|
+
languages:
|
|
1065
|
+
- generic
|
|
1066
|
+
severity: WARNING
|
|
1067
|
+
- id: runsec.desktop-vsto-suite.ins-059
|
|
1068
|
+
metadata:
|
|
1069
|
+
runsec_version: v1.0
|
|
1070
|
+
confidence: |-
|
|
1071
|
+
0.9
|
|
1072
|
+
exploit_scenario: |-
|
|
1073
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1074
|
+
fix_template: |-
|
|
1075
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1076
|
+
pattern-either:
|
|
1077
|
+
- pattern: |-
|
|
1078
|
+
MessageBox.Show(Environment.GetFolderPath(SpecialFolder.Personal))
|
|
1079
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-059\\b'
|
|
1080
|
+
message: |-
|
|
1081
|
+
RunSec Detection [INS-059]: CWE-497
|
|
1082
|
+
languages:
|
|
1083
|
+
- generic
|
|
1084
|
+
severity: WARNING
|
|
1085
|
+
- id: runsec.desktop-vsto-suite.ins-060
|
|
1086
|
+
metadata:
|
|
1087
|
+
runsec_version: v1.0
|
|
1088
|
+
confidence: |-
|
|
1089
|
+
0.9
|
|
1090
|
+
exploit_scenario: |-
|
|
1091
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1092
|
+
fix_template: |-
|
|
1093
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1094
|
+
pattern-either:
|
|
1095
|
+
- pattern: |-
|
|
1096
|
+
this.Text = dlg.FileName
|
|
1097
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-060\\b'
|
|
1098
|
+
message: |-
|
|
1099
|
+
RunSec Detection [INS-060]: CWE-497
|
|
1100
|
+
languages:
|
|
1101
|
+
- generic
|
|
1102
|
+
severity: WARNING
|
|
1103
|
+
- id: runsec.desktop-vsto-suite.ins-061
|
|
1104
|
+
metadata:
|
|
1105
|
+
runsec_version: v1.0
|
|
1106
|
+
confidence: |-
|
|
1107
|
+
0.9
|
|
1108
|
+
exploit_scenario: |-
|
|
1109
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1110
|
+
fix_template: |-
|
|
1111
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1112
|
+
pattern-either:
|
|
1113
|
+
- pattern: |-
|
|
1114
|
+
[DllImport("kernel32", SetLastError=true)] + SetDllDirectory(Path.GetTempPath())
|
|
1115
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-061\\b'
|
|
1116
|
+
message: |-
|
|
1117
|
+
RunSec Detection [INS-061]: CWE-427
|
|
1118
|
+
languages:
|
|
1119
|
+
- generic
|
|
1120
|
+
severity: WARNING
|
|
1121
|
+
- id: runsec.desktop-vsto-suite.ins-062
|
|
1122
|
+
metadata:
|
|
1123
|
+
runsec_version: v1.0
|
|
1124
|
+
confidence: |-
|
|
1125
|
+
0.9
|
|
1126
|
+
exploit_scenario: |-
|
|
1127
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1128
|
+
fix_template: |-
|
|
1129
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1130
|
+
pattern-either:
|
|
1131
|
+
- pattern: |-
|
|
1132
|
+
lblPath.Text = Assembly.GetExecutingAssembly().Location
|
|
1133
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-062\\b'
|
|
1134
|
+
message: |-
|
|
1135
|
+
RunSec Detection [INS-062]: CWE-497
|
|
1136
|
+
languages:
|
|
1137
|
+
- generic
|
|
1138
|
+
severity: WARNING
|
|
1139
|
+
- id: runsec.desktop-vsto-suite.ins-063
|
|
1140
|
+
metadata:
|
|
1141
|
+
runsec_version: v1.0
|
|
1142
|
+
confidence: |-
|
|
1143
|
+
0.9
|
|
1144
|
+
exploit_scenario: |-
|
|
1145
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1146
|
+
fix_template: |-
|
|
1147
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1148
|
+
pattern-either:
|
|
1149
|
+
- pattern: |-
|
|
1150
|
+
win.setTitle(filePaths[0])
|
|
1151
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-063\\b'
|
|
1152
|
+
message: |-
|
|
1153
|
+
RunSec Detection [INS-063]: CWE-497
|
|
1154
|
+
languages:
|
|
1155
|
+
- generic
|
|
1156
|
+
severity: WARNING
|
|
1157
|
+
- id: runsec.desktop-vsto-suite.ins-064
|
|
1158
|
+
metadata:
|
|
1159
|
+
runsec_version: v1.0
|
|
1160
|
+
confidence: |-
|
|
1161
|
+
0.9
|
|
1162
|
+
exploit_scenario: |-
|
|
1163
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1164
|
+
fix_template: |-
|
|
1165
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1166
|
+
pattern-either:
|
|
1167
|
+
- pattern: |-
|
|
1168
|
+
NativeLibrary.Load("plugins\\native.dll")
|
|
1169
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-064\\b'
|
|
1170
|
+
message: |-
|
|
1171
|
+
RunSec Detection [INS-064]: CWE-427
|
|
1172
|
+
languages:
|
|
1173
|
+
- generic
|
|
1174
|
+
severity: WARNING
|
|
1175
|
+
- id: runsec.desktop-vsto-suite.ins-065
|
|
1176
|
+
metadata:
|
|
1177
|
+
runsec_version: v1.0
|
|
1178
|
+
confidence: |-
|
|
1179
|
+
0.9
|
|
1180
|
+
exploit_scenario: |-
|
|
1181
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1182
|
+
fix_template: |-
|
|
1183
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1184
|
+
pattern-either:
|
|
1185
|
+
- pattern: |-
|
|
1186
|
+
statusLabel.Text = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
|
|
1187
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-065\\b'
|
|
1188
|
+
message: |-
|
|
1189
|
+
RunSec Detection [INS-065]: CWE-497
|
|
1190
|
+
languages:
|
|
1191
|
+
- generic
|
|
1192
|
+
severity: WARNING
|
|
1193
|
+
- id: runsec.desktop-vsto-suite.ins-066
|
|
1194
|
+
metadata:
|
|
1195
|
+
runsec_version: v1.0
|
|
1196
|
+
confidence: |-
|
|
1197
|
+
0.9
|
|
1198
|
+
exploit_scenario: |-
|
|
1199
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1200
|
+
fix_template: |-
|
|
1201
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1202
|
+
pattern-either:
|
|
1203
|
+
- pattern: |-
|
|
1204
|
+
if (File.Exists(path)) { using var s = File.OpenRead(path); }
|
|
1205
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-066\\b'
|
|
1206
|
+
message: |-
|
|
1207
|
+
RunSec Detection [INS-066]: CWE-367
|
|
1208
|
+
languages:
|
|
1209
|
+
- generic
|
|
1210
|
+
severity: WARNING
|
|
1211
|
+
- id: runsec.desktop-vsto-suite.ins-067
|
|
1212
|
+
metadata:
|
|
1213
|
+
runsec_version: v1.0
|
|
1214
|
+
confidence: |-
|
|
1215
|
+
0.9
|
|
1216
|
+
exploit_scenario: |-
|
|
1217
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1218
|
+
fix_template: |-
|
|
1219
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1220
|
+
pattern-either:
|
|
1221
|
+
- pattern: |-
|
|
1222
|
+
[DllImport("contoso_native.dll", CallingConvention = CallingConvention.Cdecl)] без LoadLibrary из Path.Combine(AppContext.BaseDirectory, "native", "contoso_native.dll")
|
|
1223
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-067\\b'
|
|
1224
|
+
message: |-
|
|
1225
|
+
RunSec Detection [INS-067]: CWE-427
|
|
1226
|
+
languages:
|
|
1227
|
+
- generic
|
|
1228
|
+
severity: WARNING
|
|
1229
|
+
- id: runsec.desktop-vsto-suite.ins-068
|
|
1230
|
+
metadata:
|
|
1231
|
+
runsec_version: v1.0
|
|
1232
|
+
confidence: |-
|
|
1233
|
+
0.9
|
|
1234
|
+
exploit_scenario: |-
|
|
1235
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1236
|
+
fix_template: |-
|
|
1237
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1238
|
+
pattern-either:
|
|
1239
|
+
- pattern: |-
|
|
1240
|
+
File.Open(path, FileMode.Open, FileAccess.ReadWrite) без FileShare.Read/Delete policy
|
|
1241
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-068\\b'
|
|
1242
|
+
message: |-
|
|
1243
|
+
RunSec Detection [INS-068]: CWE-367
|
|
1244
|
+
languages:
|
|
1245
|
+
- generic
|
|
1246
|
+
severity: WARNING
|
|
1247
|
+
- id: runsec.desktop-vsto-suite.ins-069
|
|
1248
|
+
metadata:
|
|
1249
|
+
runsec_version: v1.0
|
|
1250
|
+
confidence: |-
|
|
1251
|
+
0.9
|
|
1252
|
+
exploit_scenario: |-
|
|
1253
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1254
|
+
fix_template: |-
|
|
1255
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1256
|
+
pattern-either:
|
|
1257
|
+
- pattern: |-
|
|
1258
|
+
Span<byte> buf = stackalloc byte[userLen]; без checked и верхней границы
|
|
1259
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-069\\b'
|
|
1260
|
+
message: |-
|
|
1261
|
+
RunSec Detection [INS-069]: CWE-131
|
|
1262
|
+
languages:
|
|
1263
|
+
- generic
|
|
1264
|
+
severity: WARNING
|
|
1265
|
+
- id: runsec.desktop-vsto-suite.ins-070
|
|
1266
|
+
metadata:
|
|
1267
|
+
runsec_version: v1.0
|
|
1268
|
+
confidence: |-
|
|
1269
|
+
0.9
|
|
1270
|
+
exploit_scenario: |-
|
|
1271
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1272
|
+
fix_template: |-
|
|
1273
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1274
|
+
pattern-either:
|
|
1275
|
+
- pattern: |-
|
|
1276
|
+
Log.Debug(Environment.GetEnvironmentVariables().ToString())
|
|
1277
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-070\\b'
|
|
1278
|
+
message: |-
|
|
1279
|
+
RunSec Detection [INS-070]: CWE-497
|
|
1280
|
+
languages:
|
|
1281
|
+
- generic
|
|
1282
|
+
severity: WARNING
|
|
1283
|
+
- id: runsec.desktop-vsto-suite.ins-071
|
|
1284
|
+
metadata:
|
|
1285
|
+
runsec_version: v1.0
|
|
1286
|
+
confidence: |-
|
|
1287
|
+
0.9
|
|
1288
|
+
exploit_scenario: |-
|
|
1289
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1290
|
+
fix_template: |-
|
|
1291
|
+
Use using/try-finally and safe .NET APIs; enforce strict allowlists for untrusted input.
|
|
1292
|
+
pattern-either:
|
|
1293
|
+
- pattern: |-
|
|
1294
|
+
TelemetryClient.TrackTrace(string.Join(" ", Environment.GetCommandLineArgs()))
|
|
1295
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-071\\b'
|
|
1296
|
+
message: |-
|
|
1297
|
+
RunSec Detection [INS-071]: CWE-497
|
|
1298
|
+
languages:
|
|
1299
|
+
- generic
|
|
1300
|
+
severity: WARNING
|
|
1301
|
+
- id: runsec.desktop-vsto-suite.ins-072
|
|
1302
|
+
metadata:
|
|
1303
|
+
runsec_version: v1.0
|
|
1304
|
+
confidence: |-
|
|
1305
|
+
0.9
|
|
1306
|
+
exploit_scenario: |-
|
|
1307
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1308
|
+
fix_template: |-
|
|
1309
|
+
Prefix formula-meta chars in .xlsx exports; central sanitizeForExcelCell() for all user/DB fields.
|
|
1310
|
+
pattern-either:
|
|
1311
|
+
- pattern: |-
|
|
1312
|
+
ws['A1'] = userCell
|
|
1313
|
+
без префикса ' и без strip =+-@
|
|
1314
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-072\\b'
|
|
1315
|
+
message: |-
|
|
1316
|
+
RunSec Detection [INS-072]: CWE-1236
|
|
1317
|
+
languages:
|
|
1318
|
+
- generic
|
|
1319
|
+
severity: WARNING
|
|
1320
|
+
- id: runsec.desktop-vsto-suite.ins-073
|
|
1321
|
+
metadata:
|
|
1322
|
+
runsec_version: v1.0
|
|
1323
|
+
confidence: |-
|
|
1324
|
+
0.9
|
|
1325
|
+
exploit_scenario: |-
|
|
1326
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1327
|
+
fix_template: |-
|
|
1328
|
+
Map all values through sanitize before json_to_sheet / aoa_to_sheet.
|
|
1329
|
+
pattern-either:
|
|
1330
|
+
- pattern: |-
|
|
1331
|
+
XLSX.utils.json_to_sheet(rows) где rows из API
|
|
1332
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-073\\b'
|
|
1333
|
+
message: |-
|
|
1334
|
+
RunSec Detection [INS-073]: CWE-1236
|
|
1335
|
+
languages:
|
|
1336
|
+
- generic
|
|
1337
|
+
severity: WARNING
|
|
1338
|
+
- id: runsec.desktop-vsto-suite.ins-074
|
|
1339
|
+
metadata:
|
|
1340
|
+
runsec_version: v1.0
|
|
1341
|
+
confidence: |-
|
|
1342
|
+
0.9
|
|
1343
|
+
exploit_scenario: |-
|
|
1344
|
+
Never write raw user strings to xlsx cells; apply CSV/Excel injection defenses.
|
|
1345
|
+
fix_template: |-
|
|
1346
|
+
CWE-1236
|
|
1347
|
+
pattern-either:
|
|
1348
|
+
- pattern: |-
|
|
1349
|
+
XLSX.writeFile(wb, outPath) после заполнения из БД
|
|
1350
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-074\\b'
|
|
1351
|
+
message: |-
|
|
1352
|
+
RunSec Detection [INS-074]: Insight/Node/xlsx
|
|
1353
|
+
languages:
|
|
1354
|
+
- generic
|
|
1355
|
+
severity: WARNING
|
|
1356
|
+
- id: runsec.desktop-vsto-suite.ins-075
|
|
1357
|
+
metadata:
|
|
1358
|
+
runsec_version: v1.0
|
|
1359
|
+
confidence: |-
|
|
1360
|
+
0.9
|
|
1361
|
+
exploit_scenario: |-
|
|
1362
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1363
|
+
fix_template: |-
|
|
1364
|
+
On re-export pipeline, treat every cell as untrusted input.
|
|
1365
|
+
pattern-either:
|
|
1366
|
+
- pattern: |-
|
|
1367
|
+
XLSX.read затем sheet_to_json → обратно json_to_sheet
|
|
1368
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-075\\b'
|
|
1369
|
+
message: |-
|
|
1370
|
+
RunSec Detection [INS-075]: CWE-1236
|
|
1371
|
+
languages:
|
|
1372
|
+
- generic
|
|
1373
|
+
severity: WARNING
|
|
1374
|
+
- id: runsec.desktop-vsto-suite.ins-076
|
|
1375
|
+
metadata:
|
|
1376
|
+
runsec_version: v1.0
|
|
1377
|
+
confidence: |-
|
|
1378
|
+
0.9
|
|
1379
|
+
exploit_scenario: |-
|
|
1380
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1381
|
+
fix_template: |-
|
|
1382
|
+
Enforce max doc size before mammoth; reject oversized ZIP/docx.
|
|
1383
|
+
pattern-either:
|
|
1384
|
+
- pattern: |-
|
|
1385
|
+
mammoth.convertToHtml({ path: userPath })
|
|
1386
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-076\\b'
|
|
1387
|
+
message: |-
|
|
1388
|
+
RunSec Detection [INS-076]: CWE-409
|
|
1389
|
+
languages:
|
|
1390
|
+
- generic
|
|
1391
|
+
severity: WARNING
|
|
1392
|
+
- id: runsec.desktop-vsto-suite.ins-077
|
|
1393
|
+
metadata:
|
|
1394
|
+
runsec_version: v1.0
|
|
1395
|
+
confidence: |-
|
|
1396
|
+
0.9
|
|
1397
|
+
exploit_scenario: |-
|
|
1398
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1399
|
+
fix_template: |-
|
|
1400
|
+
Pre-validate docx zip and XML parts; disable entity expansion in XML pipeline.
|
|
1401
|
+
pattern-either:
|
|
1402
|
+
- pattern: |-
|
|
1403
|
+
mammoth.extractRawText({ path: p }) на недоверенном файле
|
|
1404
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-077\\b'
|
|
1405
|
+
message: |-
|
|
1406
|
+
RunSec Detection [INS-077]: CWE-611
|
|
1407
|
+
languages:
|
|
1408
|
+
- generic
|
|
1409
|
+
severity: WARNING
|
|
1410
|
+
- id: runsec.desktop-vsto-suite.ins-078
|
|
1411
|
+
metadata:
|
|
1412
|
+
runsec_version: v1.0
|
|
1413
|
+
confidence: |-
|
|
1414
|
+
0.9
|
|
1415
|
+
exploit_scenario: |-
|
|
1416
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1417
|
+
fix_template: |-
|
|
1418
|
+
Enforce max uncompressed size and compression ratio for OOXML containers.
|
|
1419
|
+
pattern-either:
|
|
1420
|
+
- pattern: |-
|
|
1421
|
+
new PizZip(buf) / getDocument без лимитов
|
|
1422
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-078\\b'
|
|
1423
|
+
message: |-
|
|
1424
|
+
RunSec Detection [INS-078]: CWE-409
|
|
1425
|
+
languages:
|
|
1426
|
+
- generic
|
|
1427
|
+
severity: WARNING
|
|
1428
|
+
- id: runsec.desktop-vsto-suite.ins-079
|
|
1429
|
+
metadata:
|
|
1430
|
+
runsec_version: v1.0
|
|
1431
|
+
confidence: |-
|
|
1432
|
+
0.9
|
|
1433
|
+
exploit_scenario: |-
|
|
1434
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1435
|
+
fix_template: |-
|
|
1436
|
+
Track cumulative uncompressed bytes; abort on threshold (zip bomb).
|
|
1437
|
+
pattern-either:
|
|
1438
|
+
- pattern: |-
|
|
1439
|
+
zip.loadAsync(buf) затем file.async('string')
|
|
1440
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-079\\b'
|
|
1441
|
+
message: |-
|
|
1442
|
+
RunSec Detection [INS-079]: CWE-409
|
|
1443
|
+
languages:
|
|
1444
|
+
- generic
|
|
1445
|
+
severity: WARNING
|
|
1446
|
+
- id: runsec.desktop-vsto-suite.ins-080
|
|
1447
|
+
metadata:
|
|
1448
|
+
runsec_version: v1.0
|
|
1449
|
+
confidence: |-
|
|
1450
|
+
0.9
|
|
1451
|
+
exploit_scenario: |-
|
|
1452
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1453
|
+
fix_template: |-
|
|
1454
|
+
Cap PDF bytes and pages; stream with limits.
|
|
1455
|
+
pattern-either:
|
|
1456
|
+
- pattern: |-
|
|
1457
|
+
pdfjsLib.getDocument({ url: userUrl })
|
|
1458
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-080\\b'
|
|
1459
|
+
message: |-
|
|
1460
|
+
RunSec Detection [INS-080]: CWE-409
|
|
1461
|
+
languages:
|
|
1462
|
+
- generic
|
|
1463
|
+
severity: WARNING
|
|
1464
|
+
- id: runsec.desktop-vsto-suite.ins-081
|
|
1465
|
+
metadata:
|
|
1466
|
+
runsec_version: v1.0
|
|
1467
|
+
confidence: |-
|
|
1468
|
+
0.9
|
|
1469
|
+
exploit_scenario: |-
|
|
1470
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1471
|
+
fix_template: |-
|
|
1472
|
+
Host pdf.worker.js from same origin; integrity attribute.
|
|
1473
|
+
pattern-either:
|
|
1474
|
+
- pattern: |-
|
|
1475
|
+
GlobalWorkerOptions.workerSrc = 'http://cdn.../pdf.worker.js'
|
|
1476
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-081\\b'
|
|
1477
|
+
message: |-
|
|
1478
|
+
RunSec Detection [INS-081]: CWE-611
|
|
1479
|
+
languages:
|
|
1480
|
+
- generic
|
|
1481
|
+
severity: WARNING
|
|
1482
|
+
- id: runsec.desktop-vsto-suite.ins-082
|
|
1483
|
+
metadata:
|
|
1484
|
+
runsec_version: v1.0
|
|
1485
|
+
confidence: |-
|
|
1486
|
+
0.9
|
|
1487
|
+
exploit_scenario: |-
|
|
1488
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1489
|
+
fix_template: |-
|
|
1490
|
+
Timeout + size limit around word-extractor; reject huge binaries.
|
|
1491
|
+
pattern-either:
|
|
1492
|
+
- pattern: |-
|
|
1493
|
+
extractor.extract(path) на сетевом каталоге
|
|
1494
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-082\\b'
|
|
1495
|
+
message: |-
|
|
1496
|
+
RunSec Detection [INS-082]: CWE-409
|
|
1497
|
+
languages:
|
|
1498
|
+
- generic
|
|
1499
|
+
severity: WARNING
|
|
1500
|
+
- id: runsec.desktop-vsto-suite.ins-083
|
|
1501
|
+
metadata:
|
|
1502
|
+
runsec_version: v1.0
|
|
1503
|
+
confidence: |-
|
|
1504
|
+
0.9
|
|
1505
|
+
exploit_scenario: |-
|
|
1506
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1507
|
+
fix_template: |-
|
|
1508
|
+
Parse OOXML with XXE-safe XML settings; no external entities.
|
|
1509
|
+
pattern-either:
|
|
1510
|
+
- pattern: |-
|
|
1511
|
+
parseString(xml, { mergeAttrs: true })
|
|
1512
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-083\\b'
|
|
1513
|
+
message: |-
|
|
1514
|
+
RunSec Detection [INS-083]: CWE-611
|
|
1515
|
+
languages:
|
|
1516
|
+
- generic
|
|
1517
|
+
severity: WARNING
|
|
1518
|
+
- id: runsec.desktop-vsto-suite.ins-084
|
|
1519
|
+
metadata:
|
|
1520
|
+
runsec_version: v1.0
|
|
1521
|
+
confidence: |-
|
|
1522
|
+
0.9
|
|
1523
|
+
exploit_scenario: |-
|
|
1524
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1525
|
+
fix_template: |-
|
|
1526
|
+
Sanitize ExcelJS rows before commit; same rules as SheetJS.
|
|
1527
|
+
pattern-either:
|
|
1528
|
+
- pattern: |-
|
|
1529
|
+
worksheet.addRow([user])
|
|
1530
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-084\\b'
|
|
1531
|
+
message: |-
|
|
1532
|
+
RunSec Detection [INS-084]: CWE-1236
|
|
1533
|
+
languages:
|
|
1534
|
+
- generic
|
|
1535
|
+
severity: WARNING
|
|
1536
|
+
- id: runsec.desktop-vsto-suite.ins-085
|
|
1537
|
+
metadata:
|
|
1538
|
+
runsec_version: v1.0
|
|
1539
|
+
confidence: |-
|
|
1540
|
+
0.9
|
|
1541
|
+
exploit_scenario: |-
|
|
1542
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1543
|
+
fix_template: |-
|
|
1544
|
+
Do not pass user-controlled styleMap to mammoth; allowlist only.
|
|
1545
|
+
pattern-either:
|
|
1546
|
+
- pattern: |-
|
|
1547
|
+
convertToHtml({ styleMap: userMap })
|
|
1548
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-085\\b'
|
|
1549
|
+
message: |-
|
|
1550
|
+
RunSec Detection [INS-085]: CWE-611
|
|
1551
|
+
languages:
|
|
1552
|
+
- generic
|
|
1553
|
+
severity: WARNING
|
|
1554
|
+
- id: runsec.desktop-vsto-suite.ins-086
|
|
1555
|
+
metadata:
|
|
1556
|
+
runsec_version: v1.0
|
|
1557
|
+
confidence: |-
|
|
1558
|
+
0.9
|
|
1559
|
+
exploit_scenario: |-
|
|
1560
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1561
|
+
fix_template: |-
|
|
1562
|
+
Same zip-bomb defenses as docx for pptx OOXML.
|
|
1563
|
+
pattern-either:
|
|
1564
|
+
- pattern: |-
|
|
1565
|
+
unzipper.Open.buffer(buf)
|
|
1566
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-086\\b'
|
|
1567
|
+
message: |-
|
|
1568
|
+
RunSec Detection [INS-086]: CWE-409
|
|
1569
|
+
languages:
|
|
1570
|
+
- generic
|
|
1571
|
+
severity: WARNING
|
|
1572
|
+
- id: runsec.desktop-vsto-suite.ins-087
|
|
1573
|
+
metadata:
|
|
1574
|
+
runsec_version: v1.0
|
|
1575
|
+
confidence: |-
|
|
1576
|
+
0.9
|
|
1577
|
+
exploit_scenario: |-
|
|
1578
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1579
|
+
fix_template: |-
|
|
1580
|
+
Limit entries and total bytes when using fflate/unzip on xlsx.
|
|
1581
|
+
pattern-either:
|
|
1582
|
+
- pattern: |-
|
|
1583
|
+
unzipSync(buf)
|
|
1584
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-087\\b'
|
|
1585
|
+
message: |-
|
|
1586
|
+
RunSec Detection [INS-087]: CWE-409
|
|
1587
|
+
languages:
|
|
1588
|
+
- generic
|
|
1589
|
+
severity: WARNING
|
|
1590
|
+
- id: runsec.desktop-vsto-suite.ins-088
|
|
1591
|
+
metadata:
|
|
1592
|
+
runsec_version: v1.0
|
|
1593
|
+
confidence: |-
|
|
1594
|
+
0.9
|
|
1595
|
+
exploit_scenario: |-
|
|
1596
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1597
|
+
fix_template: |-
|
|
1598
|
+
Treat PDF metadata as untrusted; never HTML-embed without encode.
|
|
1599
|
+
pattern-either:
|
|
1600
|
+
- pattern: |-
|
|
1601
|
+
metadata.info.Title в innerHTML
|
|
1602
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-088\\b'
|
|
1603
|
+
message: |-
|
|
1604
|
+
RunSec Detection [INS-088]: CWE-1027
|
|
1605
|
+
languages:
|
|
1606
|
+
- generic
|
|
1607
|
+
severity: WARNING
|
|
1608
|
+
- id: runsec.desktop-vsto-suite.ins-089
|
|
1609
|
+
metadata:
|
|
1610
|
+
runsec_version: v1.0
|
|
1611
|
+
confidence: |-
|
|
1612
|
+
0.9
|
|
1613
|
+
exploit_scenario: |-
|
|
1614
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1615
|
+
fix_template: |-
|
|
1616
|
+
Strict allowlist for embedded image resolution in mammoth.
|
|
1617
|
+
pattern-either:
|
|
1618
|
+
- pattern: |-
|
|
1619
|
+
embedImage: (id) => readUserFile(id)
|
|
1620
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-089\\b'
|
|
1621
|
+
message: |-
|
|
1622
|
+
RunSec Detection [INS-089]: CWE-611
|
|
1623
|
+
languages:
|
|
1624
|
+
- generic
|
|
1625
|
+
severity: WARNING
|
|
1626
|
+
- id: runsec.desktop-vsto-suite.ins-090
|
|
1627
|
+
metadata:
|
|
1628
|
+
runsec_version: v1.0
|
|
1629
|
+
confidence: |-
|
|
1630
|
+
0.9
|
|
1631
|
+
exploit_scenario: |-
|
|
1632
|
+
Атакующий внедряет формулу в CSV до экспорта в xlsx; при открытии в Excel возможна команда/внешняя ссылка (CWE-1236).
|
|
1633
|
+
fix_template: |-
|
|
1634
|
+
Apply CSV injection rules before promoting to xlsx.
|
|
1635
|
+
pattern-either:
|
|
1636
|
+
- pattern: |-
|
|
1637
|
+
XLSX.read CSV FSF затем writeFile xlsx
|
|
1638
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-090\\b'
|
|
1639
|
+
message: |-
|
|
1640
|
+
RunSec Detection [INS-090]: CWE-1236
|
|
1641
|
+
languages:
|
|
1642
|
+
- generic
|
|
1643
|
+
severity: WARNING
|
|
1644
|
+
- id: runsec.desktop-vsto-suite.ins-091
|
|
1645
|
+
metadata:
|
|
1646
|
+
runsec_version: v1.0
|
|
1647
|
+
confidence: |-
|
|
1648
|
+
0.9
|
|
1649
|
+
exploit_scenario: |-
|
|
1650
|
+
Атакующий подсовывает извлечённый текст в innerHTML; при отсутствии DOMPurify возможен XSS (CWE-1027).
|
|
1651
|
+
fix_template: |-
|
|
1652
|
+
Never assign extracted text to innerHTML without sanitization.
|
|
1653
|
+
pattern-either:
|
|
1654
|
+
- pattern: |-
|
|
1655
|
+
extractor.extract(path).then(t=>div.innerHTML=t)
|
|
1656
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-091\\b'
|
|
1657
|
+
message: |-
|
|
1658
|
+
RunSec Detection [INS-091]: CWE-1027
|
|
1659
|
+
languages:
|
|
1660
|
+
- generic
|
|
1661
|
+
severity: WARNING
|
|
1662
|
+
- id: runsec.desktop-vsto-suite.ins-092
|
|
1663
|
+
metadata:
|
|
1664
|
+
runsec_version: v1.0
|
|
1665
|
+
confidence: |-
|
|
1666
|
+
0.9
|
|
1667
|
+
exploit_scenario: |-
|
|
1668
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1669
|
+
fix_template: |-
|
|
1670
|
+
Use json_schema response_format or validate with Zod before branching logic.
|
|
1671
|
+
pattern-either:
|
|
1672
|
+
- pattern: |-
|
|
1673
|
+
openai.chat.completions.create({ messages }) затем JSON.parse(content)
|
|
1674
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-092\\b'
|
|
1675
|
+
message: |-
|
|
1676
|
+
RunSec Detection [INS-092]: CWE-1027
|
|
1677
|
+
languages:
|
|
1678
|
+
- generic
|
|
1679
|
+
severity: WARNING
|
|
1680
|
+
- id: runsec.desktop-vsto-suite.ins-093
|
|
1681
|
+
metadata:
|
|
1682
|
+
runsec_version: v1.0
|
|
1683
|
+
confidence: |-
|
|
1684
|
+
0.9
|
|
1685
|
+
exploit_scenario: |-
|
|
1686
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1687
|
+
fix_template: |-
|
|
1688
|
+
Never branch security on model-supplied role strings; server-side allowlist.
|
|
1689
|
+
pattern-either:
|
|
1690
|
+
- pattern: |-
|
|
1691
|
+
if (msg.role === 'system') по ответу модели
|
|
1692
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-093\\b'
|
|
1693
|
+
message: |-
|
|
1694
|
+
RunSec Detection [INS-093]: CWE-1109
|
|
1695
|
+
languages:
|
|
1696
|
+
- generic
|
|
1697
|
+
severity: WARNING
|
|
1698
|
+
- id: runsec.desktop-vsto-suite.ins-094
|
|
1699
|
+
metadata:
|
|
1700
|
+
runsec_version: v1.0
|
|
1701
|
+
confidence: |-
|
|
1702
|
+
0.9
|
|
1703
|
+
exploit_scenario: |-
|
|
1704
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1705
|
+
fix_template: |-
|
|
1706
|
+
Validate structured output; reject unknown fields; no shell exec from model text.
|
|
1707
|
+
pattern-either:
|
|
1708
|
+
- pattern: |-
|
|
1709
|
+
exec(JSON.parse(content).cmd)
|
|
1710
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-094\\b'
|
|
1711
|
+
message: |-
|
|
1712
|
+
RunSec Detection [INS-094]: CWE-1027
|
|
1713
|
+
languages:
|
|
1714
|
+
- generic
|
|
1715
|
+
severity: WARNING
|
|
1716
|
+
- id: runsec.desktop-vsto-suite.ins-095
|
|
1717
|
+
metadata:
|
|
1718
|
+
runsec_version: v1.0
|
|
1719
|
+
confidence: |-
|
|
1720
|
+
0.9
|
|
1721
|
+
exploit_scenario: |-
|
|
1722
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1723
|
+
fix_template: |-
|
|
1724
|
+
Finalize streamed LLM output with schema validation.
|
|
1725
|
+
pattern-either:
|
|
1726
|
+
- pattern: |-
|
|
1727
|
+
on('chunk') + merge без safeParse
|
|
1728
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-095\\b'
|
|
1729
|
+
message: |-
|
|
1730
|
+
RunSec Detection [INS-095]: CWE-1027
|
|
1731
|
+
languages:
|
|
1732
|
+
- generic
|
|
1733
|
+
severity: WARNING
|
|
1734
|
+
- id: runsec.desktop-vsto-suite.ins-096
|
|
1735
|
+
metadata:
|
|
1736
|
+
runsec_version: v1.0
|
|
1737
|
+
confidence: |-
|
|
1738
|
+
0.9
|
|
1739
|
+
exploit_scenario: |-
|
|
1740
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1741
|
+
fix_template: |-
|
|
1742
|
+
Per-tool Zod schema for JSON arguments from OpenAI.
|
|
1743
|
+
pattern-either:
|
|
1744
|
+
- pattern: |-
|
|
1745
|
+
JSON.parse(toolCall.function.arguments)
|
|
1746
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-096\\b'
|
|
1747
|
+
message: |-
|
|
1748
|
+
RunSec Detection [INS-096]: CWE-1027
|
|
1749
|
+
languages:
|
|
1750
|
+
- generic
|
|
1751
|
+
severity: WARNING
|
|
1752
|
+
- id: runsec.desktop-vsto-suite.ins-097
|
|
1753
|
+
metadata:
|
|
1754
|
+
runsec_version: v1.0
|
|
1755
|
+
confidence: |-
|
|
1756
|
+
0.9
|
|
1757
|
+
exploit_scenario: |-
|
|
1758
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1759
|
+
fix_template: |-
|
|
1760
|
+
Redact system/developer prompts from electron-log; structured logging without secrets.
|
|
1761
|
+
pattern-either:
|
|
1762
|
+
- pattern: |-
|
|
1763
|
+
log.info('prompt', messages)
|
|
1764
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-097\\b'
|
|
1765
|
+
message: |-
|
|
1766
|
+
RunSec Detection [INS-097]: CWE-201
|
|
1767
|
+
languages:
|
|
1768
|
+
- generic
|
|
1769
|
+
severity: WARNING
|
|
1770
|
+
- id: runsec.desktop-vsto-suite.ins-098
|
|
1771
|
+
metadata:
|
|
1772
|
+
runsec_version: v1.0
|
|
1773
|
+
confidence: |-
|
|
1774
|
+
0.9
|
|
1775
|
+
exploit_scenario: |-
|
|
1776
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1777
|
+
fix_template: |-
|
|
1778
|
+
Ban console logging of system prompts outside sealed dev diagnostics.
|
|
1779
|
+
pattern-either:
|
|
1780
|
+
- pattern: |-
|
|
1781
|
+
console.log(systemPrompt)
|
|
1782
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-098\\b'
|
|
1783
|
+
message: |-
|
|
1784
|
+
RunSec Detection [INS-098]: CWE-201
|
|
1785
|
+
languages:
|
|
1786
|
+
- generic
|
|
1787
|
+
severity: WARNING
|
|
1788
|
+
- id: runsec.desktop-vsto-suite.ins-099
|
|
1789
|
+
metadata:
|
|
1790
|
+
runsec_version: v1.0
|
|
1791
|
+
confidence: |-
|
|
1792
|
+
0.9
|
|
1793
|
+
exploit_scenario: |-
|
|
1794
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1795
|
+
fix_template: |-
|
|
1796
|
+
Validate OpenAI payloads before IPC; duplicate validation in main.
|
|
1797
|
+
pattern-either:
|
|
1798
|
+
- pattern: |-
|
|
1799
|
+
ipcRenderer.send('ai', completion)
|
|
1800
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-099\\b'
|
|
1801
|
+
message: |-
|
|
1802
|
+
RunSec Detection [INS-099]: CWE-1027
|
|
1803
|
+
languages:
|
|
1804
|
+
- generic
|
|
1805
|
+
severity: WARNING
|
|
1806
|
+
- id: runsec.desktop-vsto-suite.ins-100
|
|
1807
|
+
metadata:
|
|
1808
|
+
runsec_version: v1.0
|
|
1809
|
+
confidence: |-
|
|
1810
|
+
0.9
|
|
1811
|
+
exploit_scenario: |-
|
|
1812
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1813
|
+
fix_template: |-
|
|
1814
|
+
Always set nodeIntegration: false and contextIsolation: true explicitly in main.
|
|
1815
|
+
pattern-either:
|
|
1816
|
+
- pattern: |-
|
|
1817
|
+
new BrowserWindow({ webPreferences: { preload } })
|
|
1818
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-100\\b'
|
|
1819
|
+
message: |-
|
|
1820
|
+
RunSec Detection [INS-100]: CWE-94
|
|
1821
|
+
languages:
|
|
1822
|
+
- generic
|
|
1823
|
+
severity: WARNING
|
|
1824
|
+
- id: runsec.desktop-vsto-suite.ins-101
|
|
1825
|
+
metadata:
|
|
1826
|
+
runsec_version: v1.0
|
|
1827
|
+
confidence: |-
|
|
1828
|
+
0.9
|
|
1829
|
+
exploit_scenario: |-
|
|
1830
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1831
|
+
fix_template: |-
|
|
1832
|
+
Explicit contextIsolation: true for every BrowserWindow.
|
|
1833
|
+
pattern-either:
|
|
1834
|
+
- pattern: |-
|
|
1835
|
+
webPreferences: { preload: path }
|
|
1836
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-101\\b'
|
|
1837
|
+
message: |-
|
|
1838
|
+
RunSec Detection [INS-101]: CWE-94
|
|
1839
|
+
languages:
|
|
1840
|
+
- generic
|
|
1841
|
+
severity: WARNING
|
|
1842
|
+
- id: runsec.desktop-vsto-suite.ins-102
|
|
1843
|
+
metadata:
|
|
1844
|
+
runsec_version: v1.0
|
|
1845
|
+
confidence: |-
|
|
1846
|
+
0.9
|
|
1847
|
+
exploit_scenario: |-
|
|
1848
|
+
CWE-749
|
|
1849
|
+
fix_template: |-
|
|
1850
|
+
Insight/Electron
|
|
1851
|
+
pattern-either:
|
|
1852
|
+
- pattern: |-
|
|
1853
|
+
ipcMain.handle('api', async (_e, args) => {...})
|
|
1854
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-102\\b'
|
|
1855
|
+
message: |-
|
|
1856
|
+
RunSec Detection [INS-102]: event.senderFrame.url !== trusted) return error.
|
|
1857
|
+
languages:
|
|
1858
|
+
- generic
|
|
1859
|
+
severity: WARNING
|
|
1860
|
+
- id: runsec.desktop-vsto-suite.ins-103
|
|
1861
|
+
metadata:
|
|
1862
|
+
runsec_version: v1.0
|
|
1863
|
+
confidence: |-
|
|
1864
|
+
0.9
|
|
1865
|
+
exploit_scenario: |-
|
|
1866
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1867
|
+
fix_template: |-
|
|
1868
|
+
Pair IPC handlers with sender frame / origin checks.
|
|
1869
|
+
pattern-either:
|
|
1870
|
+
- pattern: |-
|
|
1871
|
+
ipcMain.handle('x', (e, a) => e.sender)
|
|
1872
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-103\\b'
|
|
1873
|
+
message: |-
|
|
1874
|
+
RunSec Detection [INS-103]: CWE-749
|
|
1875
|
+
languages:
|
|
1876
|
+
- generic
|
|
1877
|
+
severity: WARNING
|
|
1878
|
+
- id: runsec.desktop-vsto-suite.ins-104
|
|
1879
|
+
metadata:
|
|
1880
|
+
runsec_version: v1.0
|
|
1881
|
+
confidence: |-
|
|
1882
|
+
0.9
|
|
1883
|
+
exploit_scenario: |-
|
|
1884
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1885
|
+
fix_template: |-
|
|
1886
|
+
Never load preload from user-controlled paths; allowlist under app package.
|
|
1887
|
+
pattern-either:
|
|
1888
|
+
- pattern: |-
|
|
1889
|
+
preload: userConfig.preloadPath
|
|
1890
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-104\\b'
|
|
1891
|
+
message: |-
|
|
1892
|
+
RunSec Detection [INS-104]: CWE-94
|
|
1893
|
+
languages:
|
|
1894
|
+
- generic
|
|
1895
|
+
severity: WARNING
|
|
1896
|
+
- id: runsec.desktop-vsto-suite.ins-105
|
|
1897
|
+
metadata:
|
|
1898
|
+
runsec_version: v1.0
|
|
1899
|
+
confidence: |-
|
|
1900
|
+
0.9
|
|
1901
|
+
exploit_scenario: |-
|
|
1902
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1903
|
+
fix_template: |-
|
|
1904
|
+
Keep webSecurity: true except rare dev-only exceptions.
|
|
1905
|
+
pattern-either:
|
|
1906
|
+
- pattern: |-
|
|
1907
|
+
webPreferences: { webSecurity: false }
|
|
1908
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-105\\b'
|
|
1909
|
+
message: |-
|
|
1910
|
+
RunSec Detection [INS-105]: CWE-94
|
|
1911
|
+
languages:
|
|
1912
|
+
- generic
|
|
1913
|
+
severity: WARNING
|
|
1914
|
+
- id: runsec.desktop-vsto-suite.ins-106
|
|
1915
|
+
metadata:
|
|
1916
|
+
runsec_version: v1.0
|
|
1917
|
+
confidence: |-
|
|
1918
|
+
0.9
|
|
1919
|
+
exploit_scenario: |-
|
|
1920
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1921
|
+
fix_template: |-
|
|
1922
|
+
Validate URLs before openExternal from IPC payloads.
|
|
1923
|
+
pattern-either:
|
|
1924
|
+
- pattern: |-
|
|
1925
|
+
shell.openExternal(urlFromIpc)
|
|
1926
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-106\\b'
|
|
1927
|
+
message: |-
|
|
1928
|
+
RunSec Detection [INS-106]: CWE-749
|
|
1929
|
+
languages:
|
|
1930
|
+
- generic
|
|
1931
|
+
severity: WARNING
|
|
1932
|
+
- id: runsec.desktop-vsto-suite.ins-107
|
|
1933
|
+
metadata:
|
|
1934
|
+
runsec_version: v1.0
|
|
1935
|
+
confidence: |-
|
|
1936
|
+
0.9
|
|
1937
|
+
exploit_scenario: |-
|
|
1938
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1939
|
+
fix_template: |-
|
|
1940
|
+
Immutable hardened webPreferences; ignore user overrides for security keys.
|
|
1941
|
+
pattern-either:
|
|
1942
|
+
- pattern: |-
|
|
1943
|
+
webPreferences: { ...userPrefs }
|
|
1944
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-107\\b'
|
|
1945
|
+
message: |-
|
|
1946
|
+
RunSec Detection [INS-107]: CWE-94
|
|
1947
|
+
languages:
|
|
1948
|
+
- generic
|
|
1949
|
+
severity: WARNING
|
|
1950
|
+
- id: runsec.desktop-vsto-suite.ins-108
|
|
1951
|
+
metadata:
|
|
1952
|
+
runsec_version: v1.0
|
|
1953
|
+
confidence: |-
|
|
1954
|
+
0.9
|
|
1955
|
+
exploit_scenario: |-
|
|
1956
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1957
|
+
fix_template: |-
|
|
1958
|
+
Default deny; explicit allowlist for media/geolocation.
|
|
1959
|
+
pattern-either:
|
|
1960
|
+
- pattern: |-
|
|
1961
|
+
cb(true)
|
|
1962
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-108\\b'
|
|
1963
|
+
message: |-
|
|
1964
|
+
RunSec Detection [INS-108]: CWE-749
|
|
1965
|
+
languages:
|
|
1966
|
+
- generic
|
|
1967
|
+
severity: WARNING
|
|
1968
|
+
- id: runsec.desktop-vsto-suite.ins-109
|
|
1969
|
+
metadata:
|
|
1970
|
+
runsec_version: v1.0
|
|
1971
|
+
confidence: |-
|
|
1972
|
+
0.9
|
|
1973
|
+
exploit_scenario: |-
|
|
1974
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1975
|
+
fix_template: |-
|
|
1976
|
+
Validate file paths in custom protocols; prevent traversal.
|
|
1977
|
+
pattern-either:
|
|
1978
|
+
- pattern: |-
|
|
1979
|
+
callback({ path: req.url })
|
|
1980
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-109\\b'
|
|
1981
|
+
message: |-
|
|
1982
|
+
RunSec Detection [INS-109]: CWE-22
|
|
1983
|
+
languages:
|
|
1984
|
+
- generic
|
|
1985
|
+
severity: WARNING
|
|
1986
|
+
- id: runsec.desktop-vsto-suite.ins-110
|
|
1987
|
+
metadata:
|
|
1988
|
+
runsec_version: v1.0
|
|
1989
|
+
confidence: |-
|
|
1990
|
+
0.9
|
|
1991
|
+
exploit_scenario: |-
|
|
1992
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
1993
|
+
fix_template: |-
|
|
1994
|
+
Gate screen capture behind explicit user consent.
|
|
1995
|
+
pattern-either:
|
|
1996
|
+
- pattern: |-
|
|
1997
|
+
desktopCapturer.getSources
|
|
1998
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-110\\b'
|
|
1999
|
+
message: |-
|
|
2000
|
+
RunSec Detection [INS-110]: CWE-200
|
|
2001
|
+
languages:
|
|
2002
|
+
- generic
|
|
2003
|
+
severity: WARNING
|
|
2004
|
+
- id: runsec.desktop-vsto-suite.ins-111
|
|
2005
|
+
metadata:
|
|
2006
|
+
runsec_version: v1.0
|
|
2007
|
+
confidence: |-
|
|
2008
|
+
0.9
|
|
2009
|
+
exploit_scenario: |-
|
|
2010
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2011
|
+
fix_template: |-
|
|
2012
|
+
Sanitize CSV exports from xlsx before messaging.
|
|
2013
|
+
pattern-either:
|
|
2014
|
+
- pattern: |-
|
|
2015
|
+
XLSX.utils.sheet_to_csv(sheet) в body
|
|
2016
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-111\\b'
|
|
2017
|
+
message: |-
|
|
2018
|
+
RunSec Detection [INS-111]: CWE-1236
|
|
2019
|
+
languages:
|
|
2020
|
+
- generic
|
|
2021
|
+
severity: WARNING
|
|
2022
|
+
- id: runsec.desktop-vsto-suite.ins-112
|
|
2023
|
+
metadata:
|
|
2024
|
+
runsec_version: v1.0
|
|
2025
|
+
confidence: |-
|
|
2026
|
+
0.9
|
|
2027
|
+
exploit_scenario: |-
|
|
2028
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2029
|
+
fix_template: |-
|
|
2030
|
+
Sanitize mammoth HTML before DOM insertion.
|
|
2031
|
+
pattern-either:
|
|
2032
|
+
- pattern: |-
|
|
2033
|
+
innerHTML = result.value
|
|
2034
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-112\\b'
|
|
2035
|
+
message: |-
|
|
2036
|
+
RunSec Detection [INS-112]: CWE-1027
|
|
2037
|
+
languages:
|
|
2038
|
+
- generic
|
|
2039
|
+
severity: WARNING
|
|
2040
|
+
- id: runsec.desktop-vsto-suite.ins-113
|
|
2041
|
+
metadata:
|
|
2042
|
+
runsec_version: v1.0
|
|
2043
|
+
confidence: |-
|
|
2044
|
+
0.9
|
|
2045
|
+
exploit_scenario: |-
|
|
2046
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2047
|
+
fix_template: |-
|
|
2048
|
+
Parameterize DB; treat PDF text as untrusted.
|
|
2049
|
+
pattern-either:
|
|
2050
|
+
- pattern: |-
|
|
2051
|
+
page.getTextContent() → db.query(\...\${t}\)
|
|
2052
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-113\\b'
|
|
2053
|
+
message: |-
|
|
2054
|
+
RunSec Detection [INS-113]: CWE-89
|
|
2055
|
+
languages:
|
|
2056
|
+
- generic
|
|
2057
|
+
severity: WARNING
|
|
2058
|
+
- id: runsec.desktop-vsto-suite.ins-114
|
|
2059
|
+
metadata:
|
|
2060
|
+
runsec_version: v1.0
|
|
2061
|
+
confidence: |-
|
|
2062
|
+
0.9
|
|
2063
|
+
exploit_scenario: |-
|
|
2064
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2065
|
+
fix_template: |-
|
|
2066
|
+
Escape template fields for docx generation.
|
|
2067
|
+
pattern-either:
|
|
2068
|
+
- pattern: |-
|
|
2069
|
+
doc.setData({ user: raw })
|
|
2070
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-114\\b'
|
|
2071
|
+
message: |-
|
|
2072
|
+
RunSec Detection [INS-114]: CWE-1236
|
|
2073
|
+
languages:
|
|
2074
|
+
- generic
|
|
2075
|
+
severity: WARNING
|
|
2076
|
+
- id: runsec.desktop-vsto-suite.ins-115
|
|
2077
|
+
metadata:
|
|
2078
|
+
runsec_version: v1.0
|
|
2079
|
+
confidence: |-
|
|
2080
|
+
0.9
|
|
2081
|
+
exploit_scenario: |-
|
|
2082
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2083
|
+
fix_template: |-
|
|
2084
|
+
Use strict JSON schema where API allows.
|
|
2085
|
+
pattern-either:
|
|
2086
|
+
- pattern: |-
|
|
2087
|
+
response_format без strict
|
|
2088
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-115\\b'
|
|
2089
|
+
message: |-
|
|
2090
|
+
RunSec Detection [INS-115]: CWE-1027
|
|
2091
|
+
languages:
|
|
2092
|
+
- generic
|
|
2093
|
+
severity: WARNING
|
|
2094
|
+
- id: runsec.desktop-vsto-suite.ins-116
|
|
2095
|
+
metadata:
|
|
2096
|
+
runsec_version: v1.0
|
|
2097
|
+
confidence: |-
|
|
2098
|
+
0.9
|
|
2099
|
+
exploit_scenario: |-
|
|
2100
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2101
|
+
fix_template: |-
|
|
2102
|
+
Redact OpenAI message bodies in logs.
|
|
2103
|
+
pattern-either:
|
|
2104
|
+
- pattern: |-
|
|
2105
|
+
logger.info(messages)
|
|
2106
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-116\\b'
|
|
2107
|
+
message: |-
|
|
2108
|
+
RunSec Detection [INS-116]: CWE-201
|
|
2109
|
+
languages:
|
|
2110
|
+
- generic
|
|
2111
|
+
severity: WARNING
|
|
2112
|
+
- id: runsec.desktop-vsto-suite.ins-117
|
|
2113
|
+
metadata:
|
|
2114
|
+
runsec_version: v1.0
|
|
2115
|
+
confidence: |-
|
|
2116
|
+
0.9
|
|
2117
|
+
exploit_scenario: |-
|
|
2118
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2119
|
+
fix_template: |-
|
|
2120
|
+
Validate IPC args in preload bridge and main.
|
|
2121
|
+
pattern-either:
|
|
2122
|
+
- pattern: |-
|
|
2123
|
+
exposeInMainWorld('api', { run: (x)=>ipc.invoke('x',x)})
|
|
2124
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-117\\b'
|
|
2125
|
+
message: |-
|
|
2126
|
+
RunSec Detection [INS-117]: CWE-749
|
|
2127
|
+
languages:
|
|
2128
|
+
- generic
|
|
2129
|
+
severity: WARNING
|
|
2130
|
+
- id: runsec.desktop-vsto-suite.ins-118
|
|
2131
|
+
metadata:
|
|
2132
|
+
runsec_version: v1.0
|
|
2133
|
+
confidence: |-
|
|
2134
|
+
0.9
|
|
2135
|
+
exploit_scenario: |-
|
|
2136
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2137
|
+
fix_template: |-
|
|
2138
|
+
Prefer handle with sender validation over legacy on.
|
|
2139
|
+
pattern-either:
|
|
2140
|
+
- pattern: |-
|
|
2141
|
+
ipcMain.on('evt', ...)
|
|
2142
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-118\\b'
|
|
2143
|
+
message: |-
|
|
2144
|
+
RunSec Detection [INS-118]: CWE-749
|
|
2145
|
+
languages:
|
|
2146
|
+
- generic
|
|
2147
|
+
severity: WARNING
|
|
2148
|
+
- id: runsec.desktop-vsto-suite.ins-119
|
|
2149
|
+
metadata:
|
|
2150
|
+
runsec_version: v1.0
|
|
2151
|
+
confidence: |-
|
|
2152
|
+
0.9
|
|
2153
|
+
exploit_scenario: |-
|
|
2154
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2155
|
+
fix_template: |-
|
|
2156
|
+
Block unbounded base64 PDF from user input.
|
|
2157
|
+
pattern-either:
|
|
2158
|
+
- pattern: |-
|
|
2159
|
+
getDocument({ data: atob(userB64) })
|
|
2160
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-119\\b'
|
|
2161
|
+
message: |-
|
|
2162
|
+
RunSec Detection [INS-119]: CWE-409
|
|
2163
|
+
languages:
|
|
2164
|
+
- generic
|
|
2165
|
+
severity: WARNING
|
|
2166
|
+
- id: runsec.desktop-vsto-suite.ins-120
|
|
2167
|
+
metadata:
|
|
2168
|
+
runsec_version: v1.0
|
|
2169
|
+
confidence: |-
|
|
2170
|
+
0.9
|
|
2171
|
+
exploit_scenario: |-
|
|
2172
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2173
|
+
fix_template: |-
|
|
2174
|
+
Restrict UNC/network paths for extraction.
|
|
2175
|
+
pattern-either:
|
|
2176
|
+
- pattern: |-
|
|
2177
|
+
extractor.extract('\\\\srv\\share\\doc.doc')
|
|
2178
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-120\\b'
|
|
2179
|
+
message: |-
|
|
2180
|
+
RunSec Detection [INS-120]: CWE-22
|
|
2181
|
+
languages:
|
|
2182
|
+
- generic
|
|
2183
|
+
severity: WARNING
|
|
2184
|
+
- id: runsec.desktop-vsto-suite.ins-121
|
|
2185
|
+
metadata:
|
|
2186
|
+
runsec_version: v1.0
|
|
2187
|
+
confidence: |-
|
|
2188
|
+
0.9
|
|
2189
|
+
exploit_scenario: |-
|
|
2190
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2191
|
+
fix_template: |-
|
|
2192
|
+
Do not apply user-controlled styles that embed formulas.
|
|
2193
|
+
pattern-either:
|
|
2194
|
+
- pattern: |-
|
|
2195
|
+
cell.s = userStyle
|
|
2196
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-121\\b'
|
|
2197
|
+
message: |-
|
|
2198
|
+
RunSec Detection [INS-121]: CWE-1236
|
|
2199
|
+
languages:
|
|
2200
|
+
- generic
|
|
2201
|
+
severity: WARNING
|
|
2202
|
+
- id: runsec.desktop-vsto-suite.ins-122
|
|
2203
|
+
metadata:
|
|
2204
|
+
runsec_version: v1.0
|
|
2205
|
+
confidence: |-
|
|
2206
|
+
0.9
|
|
2207
|
+
exploit_scenario: |-
|
|
2208
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2209
|
+
fix_template: |-
|
|
2210
|
+
Sanitize markdown output from mammoth.
|
|
2211
|
+
pattern-either:
|
|
2212
|
+
- pattern: |-
|
|
2213
|
+
innerHTML = md.render(mdText)
|
|
2214
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-122\\b'
|
|
2215
|
+
message: |-
|
|
2216
|
+
RunSec Detection [INS-122]: CWE-1027
|
|
2217
|
+
languages:
|
|
2218
|
+
- generic
|
|
2219
|
+
severity: WARNING
|
|
2220
|
+
- id: runsec.desktop-vsto-suite.ins-123
|
|
2221
|
+
metadata:
|
|
2222
|
+
runsec_version: v1.0
|
|
2223
|
+
confidence: |-
|
|
2224
|
+
0.9
|
|
2225
|
+
exploit_scenario: |-
|
|
2226
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2227
|
+
fix_template: |-
|
|
2228
|
+
Validate hyperlinks in generated docx.
|
|
2229
|
+
pattern-either:
|
|
2230
|
+
- pattern: |-
|
|
2231
|
+
new Hyperlink(userUrl)
|
|
2232
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-123\\b'
|
|
2233
|
+
message: |-
|
|
2234
|
+
RunSec Detection [INS-123]: CWE-20
|
|
2235
|
+
languages:
|
|
2236
|
+
- generic
|
|
2237
|
+
severity: WARNING
|
|
2238
|
+
- id: runsec.desktop-vsto-suite.ins-124
|
|
2239
|
+
metadata:
|
|
2240
|
+
runsec_version: v1.0
|
|
2241
|
+
confidence: |-
|
|
2242
|
+
0.9
|
|
2243
|
+
exploit_scenario: |-
|
|
2244
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2245
|
+
fix_template: |-
|
|
2246
|
+
Limit parallel tool execution from model.
|
|
2247
|
+
pattern-either:
|
|
2248
|
+
- pattern: |-
|
|
2249
|
+
parallel_tool_calls: true
|
|
2250
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-124\\b'
|
|
2251
|
+
message: |-
|
|
2252
|
+
RunSec Detection [INS-124]: CWE-1027
|
|
2253
|
+
languages:
|
|
2254
|
+
- generic
|
|
2255
|
+
severity: WARNING
|
|
2256
|
+
- id: runsec.desktop-vsto-suite.ins-125
|
|
2257
|
+
metadata:
|
|
2258
|
+
runsec_version: v1.0
|
|
2259
|
+
confidence: |-
|
|
2260
|
+
0.9
|
|
2261
|
+
exploit_scenario: |-
|
|
2262
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2263
|
+
fix_template: |-
|
|
2264
|
+
Encrypt cached LLM responses; no plaintext PII.
|
|
2265
|
+
pattern-either:
|
|
2266
|
+
- pattern: |-
|
|
2267
|
+
fs.writeFileSync(cachePath, content)
|
|
2268
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-125\\b'
|
|
2269
|
+
message: |-
|
|
2270
|
+
RunSec Detection [INS-125]: CWE-311
|
|
2271
|
+
languages:
|
|
2272
|
+
- generic
|
|
2273
|
+
severity: WARNING
|
|
2274
|
+
- id: runsec.desktop-vsto-suite.ins-126
|
|
2275
|
+
metadata:
|
|
2276
|
+
runsec_version: v1.0
|
|
2277
|
+
confidence: |-
|
|
2278
|
+
0.9
|
|
2279
|
+
exploit_scenario: |-
|
|
2280
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2281
|
+
fix_template: |-
|
|
2282
|
+
Validate paths for nativeImage loads.
|
|
2283
|
+
pattern-either:
|
|
2284
|
+
- pattern: |-
|
|
2285
|
+
nativeImage.createFromPath(userPath)
|
|
2286
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-126\\b'
|
|
2287
|
+
message: |-
|
|
2288
|
+
RunSec Detection [INS-126]: CWE-22
|
|
2289
|
+
languages:
|
|
2290
|
+
- generic
|
|
2291
|
+
severity: WARNING
|
|
2292
|
+
- id: runsec.desktop-vsto-suite.ins-127
|
|
2293
|
+
metadata:
|
|
2294
|
+
runsec_version: v1.0
|
|
2295
|
+
confidence: |-
|
|
2296
|
+
0.9
|
|
2297
|
+
exploit_scenario: |-
|
|
2298
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2299
|
+
fix_template: |-
|
|
2300
|
+
Validate URLs in menu handlers.
|
|
2301
|
+
pattern-either:
|
|
2302
|
+
- pattern: |-
|
|
2303
|
+
shell.openExternal(userUrl) в menu
|
|
2304
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-127\\b'
|
|
2305
|
+
message: |-
|
|
2306
|
+
RunSec Detection [INS-127]: CWE-749
|
|
2307
|
+
languages:
|
|
2308
|
+
- generic
|
|
2309
|
+
severity: WARNING
|
|
2310
|
+
- id: runsec.desktop-vsto-suite.ins-128
|
|
2311
|
+
metadata:
|
|
2312
|
+
runsec_version: v1.0
|
|
2313
|
+
confidence: |-
|
|
2314
|
+
0.9
|
|
2315
|
+
exploit_scenario: |-
|
|
2316
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2317
|
+
fix_template: |-
|
|
2318
|
+
Sanitize shared strings when merging workbooks.
|
|
2319
|
+
pattern-either:
|
|
2320
|
+
- pattern: |-
|
|
2321
|
+
Уязвимость при merge
|
|
2322
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-128\\b'
|
|
2323
|
+
message: |-
|
|
2324
|
+
RunSec Detection [INS-128]: CWE-1236
|
|
2325
|
+
languages:
|
|
2326
|
+
- generic
|
|
2327
|
+
severity: WARNING
|
|
2328
|
+
- id: runsec.desktop-vsto-suite.ins-129
|
|
2329
|
+
metadata:
|
|
2330
|
+
runsec_version: v1.0
|
|
2331
|
+
confidence: |-
|
|
2332
|
+
0.9
|
|
2333
|
+
exploit_scenario: |-
|
|
2334
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2335
|
+
fix_template: |-
|
|
2336
|
+
Sanitize user text in pptxgenjs slides.
|
|
2337
|
+
pattern-either:
|
|
2338
|
+
- pattern: |-
|
|
2339
|
+
slide.addText(user)
|
|
2340
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-129\\b'
|
|
2341
|
+
message: |-
|
|
2342
|
+
RunSec Detection [INS-129]: CWE-1236
|
|
2343
|
+
languages:
|
|
2344
|
+
- generic
|
|
2345
|
+
severity: WARNING
|
|
2346
|
+
- id: runsec.desktop-vsto-suite.ins-130
|
|
2347
|
+
metadata:
|
|
2348
|
+
runsec_version: v1.0
|
|
2349
|
+
confidence: |-
|
|
2350
|
+
0.9
|
|
2351
|
+
exploit_scenario: |-
|
|
2352
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2353
|
+
fix_template: |-
|
|
2354
|
+
Restrict embedded fonts to trusted sources.
|
|
2355
|
+
pattern-either:
|
|
2356
|
+
- pattern: |-
|
|
2357
|
+
embedFont(fs.readFileSync(userFont))
|
|
2358
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-130\\b'
|
|
2359
|
+
message: |-
|
|
2360
|
+
RunSec Detection [INS-130]: CWE-22
|
|
2361
|
+
languages:
|
|
2362
|
+
- generic
|
|
2363
|
+
severity: WARNING
|
|
2364
|
+
- id: runsec.desktop-vsto-suite.ins-131
|
|
2365
|
+
metadata:
|
|
2366
|
+
runsec_version: v1.0
|
|
2367
|
+
confidence: |-
|
|
2368
|
+
0.9
|
|
2369
|
+
exploit_scenario: |-
|
|
2370
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2371
|
+
fix_template: |-
|
|
2372
|
+
Bound sampling params for production AI paths.
|
|
2373
|
+
pattern-either:
|
|
2374
|
+
- pattern: |-
|
|
2375
|
+
temperature: 2
|
|
2376
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-131\\b'
|
|
2377
|
+
message: |-
|
|
2378
|
+
RunSec Detection [INS-131]: CWE-1027
|
|
2379
|
+
languages:
|
|
2380
|
+
- generic
|
|
2381
|
+
severity: WARNING
|
|
2382
|
+
- id: runsec.desktop-vsto-suite.ins-132
|
|
2383
|
+
metadata:
|
|
2384
|
+
runsec_version: v1.0
|
|
2385
|
+
confidence: |-
|
|
2386
|
+
0.9
|
|
2387
|
+
exploit_scenario: |-
|
|
2388
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2389
|
+
fix_template: |-
|
|
2390
|
+
Use seed for reproducibility when policy requires.
|
|
2391
|
+
pattern-either:
|
|
2392
|
+
- pattern: |-
|
|
2393
|
+
create({...})
|
|
2394
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-132\\b'
|
|
2395
|
+
message: |-
|
|
2396
|
+
RunSec Detection [INS-132]: CWE-1109
|
|
2397
|
+
languages:
|
|
2398
|
+
- generic
|
|
2399
|
+
severity: WARNING
|
|
2400
|
+
- id: runsec.desktop-vsto-suite.ins-133
|
|
2401
|
+
metadata:
|
|
2402
|
+
runsec_version: v1.0
|
|
2403
|
+
confidence: |-
|
|
2404
|
+
0.9
|
|
2405
|
+
exploit_scenario: |-
|
|
2406
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2407
|
+
fix_template: |-
|
|
2408
|
+
Gate system events on IPC.
|
|
2409
|
+
pattern-either:
|
|
2410
|
+
- pattern: |-
|
|
2411
|
+
powerMonitor.on('suspend', ()=>ipc.send(...))
|
|
2412
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-133\\b'
|
|
2413
|
+
message: |-
|
|
2414
|
+
RunSec Detection [INS-133]: CWE-200
|
|
2415
|
+
languages:
|
|
2416
|
+
- generic
|
|
2417
|
+
severity: WARNING
|
|
2418
|
+
- id: runsec.desktop-vsto-suite.ins-134
|
|
2419
|
+
metadata:
|
|
2420
|
+
runsec_version: v1.0
|
|
2421
|
+
confidence: |-
|
|
2422
|
+
0.9
|
|
2423
|
+
exploit_scenario: |-
|
|
2424
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2425
|
+
fix_template: |-
|
|
2426
|
+
Mediate clipboard IPC in main.
|
|
2427
|
+
pattern-either:
|
|
2428
|
+
- pattern: |-
|
|
2429
|
+
clipboard.writeText(user)
|
|
2430
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-134\\b'
|
|
2431
|
+
message: |-
|
|
2432
|
+
RunSec Detection [INS-134]: CWE-749
|
|
2433
|
+
languages:
|
|
2434
|
+
- generic
|
|
2435
|
+
severity: WARNING
|
|
2436
|
+
- id: runsec.desktop-vsto-suite.ins-135
|
|
2437
|
+
metadata:
|
|
2438
|
+
runsec_version: v1.0
|
|
2439
|
+
confidence: |-
|
|
2440
|
+
0.9
|
|
2441
|
+
exploit_scenario: |-
|
|
2442
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2443
|
+
fix_template: |-
|
|
2444
|
+
Sanitize cheerio HTML from mammoth.
|
|
2445
|
+
pattern-either:
|
|
2446
|
+
- pattern: |-
|
|
2447
|
+
cheerio.load(html)
|
|
2448
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-135\\b'
|
|
2449
|
+
message: |-
|
|
2450
|
+
RunSec Detection [INS-135]: CWE-1027
|
|
2451
|
+
languages:
|
|
2452
|
+
- generic
|
|
2453
|
+
severity: WARNING
|
|
2454
|
+
- id: runsec.desktop-vsto-suite.ins-136
|
|
2455
|
+
metadata:
|
|
2456
|
+
runsec_version: v1.0
|
|
2457
|
+
confidence: |-
|
|
2458
|
+
0.9
|
|
2459
|
+
exploit_scenario: |-
|
|
2460
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2461
|
+
fix_template: |-
|
|
2462
|
+
Rate-limit xlsx password attempts.
|
|
2463
|
+
pattern-either:
|
|
2464
|
+
- pattern: |-
|
|
2465
|
+
XLSX.read(data, {password: guess})
|
|
2466
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-136\\b'
|
|
2467
|
+
message: |-
|
|
2468
|
+
RunSec Detection [INS-136]: CWE-307
|
|
2469
|
+
languages:
|
|
2470
|
+
- generic
|
|
2471
|
+
severity: WARNING
|
|
2472
|
+
- id: runsec.desktop-vsto-suite.ins-137
|
|
2473
|
+
metadata:
|
|
2474
|
+
runsec_version: v1.0
|
|
2475
|
+
confidence: |-
|
|
2476
|
+
0.9
|
|
2477
|
+
exploit_scenario: |-
|
|
2478
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2479
|
+
fix_template: |-
|
|
2480
|
+
Do not log PDF operator lists in production.
|
|
2481
|
+
pattern-either:
|
|
2482
|
+
- pattern: |-
|
|
2483
|
+
console.log(opList)
|
|
2484
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-137\\b'
|
|
2485
|
+
message: |-
|
|
2486
|
+
RunSec Detection [INS-137]: CWE-201
|
|
2487
|
+
languages:
|
|
2488
|
+
- generic
|
|
2489
|
+
severity: WARNING
|
|
2490
|
+
- id: runsec.desktop-vsto-suite.ins-138
|
|
2491
|
+
metadata:
|
|
2492
|
+
runsec_version: v1.0
|
|
2493
|
+
confidence: |-
|
|
2494
|
+
0.9
|
|
2495
|
+
exploit_scenario: |-
|
|
2496
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2497
|
+
fix_template: |-
|
|
2498
|
+
Minimize OpenAI request metadata.
|
|
2499
|
+
pattern-either:
|
|
2500
|
+
- pattern: |-
|
|
2501
|
+
metadata: { email: user.email }
|
|
2502
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-138\\b'
|
|
2503
|
+
message: |-
|
|
2504
|
+
RunSec Detection [INS-138]: CWE-201
|
|
2505
|
+
languages:
|
|
2506
|
+
- generic
|
|
2507
|
+
severity: WARNING
|
|
2508
|
+
- id: runsec.desktop-vsto-suite.ins-139
|
|
2509
|
+
metadata:
|
|
2510
|
+
runsec_version: v1.0
|
|
2511
|
+
confidence: |-
|
|
2512
|
+
0.9
|
|
2513
|
+
exploit_scenario: |-
|
|
2514
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2515
|
+
fix_template: |-
|
|
2516
|
+
Validate focus before global shortcuts.
|
|
2517
|
+
pattern-either:
|
|
2518
|
+
- pattern: |-
|
|
2519
|
+
globalShortcut.register
|
|
2520
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-139\\b'
|
|
2521
|
+
message: |-
|
|
2522
|
+
RunSec Detection [INS-139]: CWE-749
|
|
2523
|
+
languages:
|
|
2524
|
+
- generic
|
|
2525
|
+
severity: WARNING
|
|
2526
|
+
- id: runsec.desktop-vsto-suite.ins-140
|
|
2527
|
+
metadata:
|
|
2528
|
+
runsec_version: v1.0
|
|
2529
|
+
confidence: |-
|
|
2530
|
+
0.9
|
|
2531
|
+
exploit_scenario: |-
|
|
2532
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2533
|
+
fix_template: |-
|
|
2534
|
+
Validate save dialog paths before opening.
|
|
2535
|
+
pattern-either:
|
|
2536
|
+
- pattern: |-
|
|
2537
|
+
shell.openExternal(savedPath)
|
|
2538
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-140\\b'
|
|
2539
|
+
message: |-
|
|
2540
|
+
RunSec Detection [INS-140]: CWE-749
|
|
2541
|
+
languages:
|
|
2542
|
+
- generic
|
|
2543
|
+
severity: WARNING
|
|
2544
|
+
- id: runsec.desktop-vsto-suite.ins-141
|
|
2545
|
+
metadata:
|
|
2546
|
+
runsec_version: v1.0
|
|
2547
|
+
confidence: |-
|
|
2548
|
+
0.9
|
|
2549
|
+
exploit_scenario: |-
|
|
2550
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2551
|
+
fix_template: |-
|
|
2552
|
+
Handle CSV delimiter injection in xlsx roundtrip.
|
|
2553
|
+
pattern-either:
|
|
2554
|
+
- pattern: |-
|
|
2555
|
+
sep=; in cell
|
|
2556
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-141\\b'
|
|
2557
|
+
message: |-
|
|
2558
|
+
RunSec Detection [INS-141]: CWE-1236
|
|
2559
|
+
languages:
|
|
2560
|
+
- generic
|
|
2561
|
+
severity: WARNING
|
|
2562
|
+
- id: runsec.desktop-vsto-suite.ins-142
|
|
2563
|
+
metadata:
|
|
2564
|
+
runsec_version: v1.0
|
|
2565
|
+
confidence: |-
|
|
2566
|
+
0.9
|
|
2567
|
+
exploit_scenario: |-
|
|
2568
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2569
|
+
fix_template: |-
|
|
2570
|
+
Safe XML/HTML for headers/footers.
|
|
2571
|
+
pattern-either:
|
|
2572
|
+
- pattern: |-
|
|
2573
|
+
header.addHtml(user)
|
|
2574
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-142\\b'
|
|
2575
|
+
message: |-
|
|
2576
|
+
RunSec Detection [INS-142]: CWE-611
|
|
2577
|
+
languages:
|
|
2578
|
+
- generic
|
|
2579
|
+
severity: WARNING
|
|
2580
|
+
- id: runsec.desktop-vsto-suite.ins-143
|
|
2581
|
+
metadata:
|
|
2582
|
+
runsec_version: v1.0
|
|
2583
|
+
confidence: |-
|
|
2584
|
+
0.9
|
|
2585
|
+
exploit_scenario: |-
|
|
2586
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2587
|
+
fix_template: |-
|
|
2588
|
+
Treat PDF annotations as untrusted.
|
|
2589
|
+
pattern-either:
|
|
2590
|
+
- pattern: |-
|
|
2591
|
+
annotation без validate
|
|
2592
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-143\\b'
|
|
2593
|
+
message: |-
|
|
2594
|
+
RunSec Detection [INS-143]: CWE-1027
|
|
2595
|
+
languages:
|
|
2596
|
+
- generic
|
|
2597
|
+
severity: WARNING
|
|
2598
|
+
- id: runsec.desktop-vsto-suite.ins-144
|
|
2599
|
+
metadata:
|
|
2600
|
+
runsec_version: v1.0
|
|
2601
|
+
confidence: |-
|
|
2602
|
+
0.9
|
|
2603
|
+
exploit_scenario: |-
|
|
2604
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2605
|
+
fix_template: |-
|
|
2606
|
+
Test tools + JSON schema together.
|
|
2607
|
+
pattern-either:
|
|
2608
|
+
- pattern: |-
|
|
2609
|
+
mixed
|
|
2610
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-144\\b'
|
|
2611
|
+
message: |-
|
|
2612
|
+
RunSec Detection [INS-144]: CWE-1109
|
|
2613
|
+
languages:
|
|
2614
|
+
- generic
|
|
2615
|
+
severity: WARNING
|
|
2616
|
+
- id: runsec.desktop-vsto-suite.ins-145
|
|
2617
|
+
metadata:
|
|
2618
|
+
runsec_version: v1.0
|
|
2619
|
+
confidence: |-
|
|
2620
|
+
0.9
|
|
2621
|
+
exploit_scenario: |-
|
|
2622
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2623
|
+
fix_template: |-
|
|
2624
|
+
Set full webPreferences on BrowserView.
|
|
2625
|
+
pattern-either:
|
|
2626
|
+
- pattern: |-
|
|
2627
|
+
new BrowserView()
|
|
2628
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-145\\b'
|
|
2629
|
+
message: |-
|
|
2630
|
+
RunSec Detection [INS-145]: CWE-94
|
|
2631
|
+
languages:
|
|
2632
|
+
- generic
|
|
2633
|
+
severity: WARNING
|
|
2634
|
+
- id: runsec.desktop-vsto-suite.ins-146
|
|
2635
|
+
metadata:
|
|
2636
|
+
runsec_version: v1.0
|
|
2637
|
+
confidence: |-
|
|
2638
|
+
0.9
|
|
2639
|
+
exploit_scenario: |-
|
|
2640
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2641
|
+
fix_template: |-
|
|
2642
|
+
Validate utility process arguments.
|
|
2643
|
+
pattern-either:
|
|
2644
|
+
- pattern: |-
|
|
2645
|
+
utilityProcess.fork(path, userArgv)
|
|
2646
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-146\\b'
|
|
2647
|
+
message: |-
|
|
2648
|
+
RunSec Detection [INS-146]: CWE-749
|
|
2649
|
+
languages:
|
|
2650
|
+
- generic
|
|
2651
|
+
severity: WARNING
|
|
2652
|
+
- id: runsec.desktop-vsto-suite.ins-147
|
|
2653
|
+
metadata:
|
|
2654
|
+
runsec_version: v1.0
|
|
2655
|
+
confidence: |-
|
|
2656
|
+
0.9
|
|
2657
|
+
exploit_scenario: |-
|
|
2658
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2659
|
+
fix_template: |-
|
|
2660
|
+
Combine mammoth options with size caps.
|
|
2661
|
+
pattern-either:
|
|
2662
|
+
- pattern: |-
|
|
2663
|
+
ignoreEmptyParagraphs: false
|
|
2664
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-147\\b'
|
|
2665
|
+
message: |-
|
|
2666
|
+
RunSec Detection [INS-147]: CWE-409
|
|
2667
|
+
languages:
|
|
2668
|
+
- generic
|
|
2669
|
+
severity: WARNING
|
|
2670
|
+
- id: runsec.desktop-vsto-suite.ins-148
|
|
2671
|
+
metadata:
|
|
2672
|
+
runsec_version: v1.0
|
|
2673
|
+
confidence: |-
|
|
2674
|
+
0.9
|
|
2675
|
+
exploit_scenario: |-
|
|
2676
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2677
|
+
fix_template: |-
|
|
2678
|
+
Do not use user input as defval in sheet_to_json.
|
|
2679
|
+
pattern-either:
|
|
2680
|
+
- pattern: |-
|
|
2681
|
+
defval: userDef
|
|
2682
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-148\\b'
|
|
2683
|
+
message: |-
|
|
2684
|
+
RunSec Detection [INS-148]: CWE-1236
|
|
2685
|
+
languages:
|
|
2686
|
+
- generic
|
|
2687
|
+
severity: WARNING
|
|
2688
|
+
- id: runsec.desktop-vsto-suite.ins-149
|
|
2689
|
+
metadata:
|
|
2690
|
+
runsec_version: v1.0
|
|
2691
|
+
confidence: |-
|
|
2692
|
+
0.9
|
|
2693
|
+
exploit_scenario: |-
|
|
2694
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2695
|
+
fix_template: |-
|
|
2696
|
+
Bound max_tokens for interactive flows.
|
|
2697
|
+
pattern-either:
|
|
2698
|
+
- pattern: |-
|
|
2699
|
+
max_tokens: 65536
|
|
2700
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-149\\b'
|
|
2701
|
+
message: |-
|
|
2702
|
+
RunSec Detection [INS-149]: CWE-409
|
|
2703
|
+
languages:
|
|
2704
|
+
- generic
|
|
2705
|
+
severity: WARNING
|
|
2706
|
+
- id: runsec.desktop-vsto-suite.ins-150
|
|
2707
|
+
metadata:
|
|
2708
|
+
runsec_version: v1.0
|
|
2709
|
+
confidence: |-
|
|
2710
|
+
0.9
|
|
2711
|
+
exploit_scenario: |-
|
|
2712
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2713
|
+
fix_template: |-
|
|
2714
|
+
No plaintext fallback when safeStorage unavailable.
|
|
2715
|
+
pattern-either:
|
|
2716
|
+
- pattern: |-
|
|
2717
|
+
safeStorage unavailable → plaintext
|
|
2718
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-150\\b'
|
|
2719
|
+
message: |-
|
|
2720
|
+
RunSec Detection [INS-150]: CWE-312
|
|
2721
|
+
languages:
|
|
2722
|
+
- generic
|
|
2723
|
+
severity: WARNING
|
|
2724
|
+
- id: runsec.desktop-vsto-suite.ins-151
|
|
2725
|
+
metadata:
|
|
2726
|
+
runsec_version: v1.0
|
|
2727
|
+
confidence: |-
|
|
2728
|
+
0.9
|
|
2729
|
+
exploit_scenario: |-
|
|
2730
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2731
|
+
fix_template: |-
|
|
2732
|
+
Run npm audit in CI for Insight stack.
|
|
2733
|
+
pattern-either:
|
|
2734
|
+
- pattern: |-
|
|
2735
|
+
# skip npm audit
|
|
2736
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-151\\b'
|
|
2737
|
+
message: |-
|
|
2738
|
+
RunSec Detection [INS-151]: CWE-1104
|
|
2739
|
+
languages:
|
|
2740
|
+
- generic
|
|
2741
|
+
severity: WARNING
|
|
2742
|
+
- id: runsec.desktop-vsto-suite.ins-152
|
|
2743
|
+
metadata:
|
|
2744
|
+
runsec_version: v1.0
|
|
2745
|
+
confidence: |-
|
|
2746
|
+
0.9
|
|
2747
|
+
exploit_scenario: |-
|
|
2748
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
2749
|
+
fix_template: |-
|
|
2750
|
+
Ban @electron/remote; use contextBridge.
|
|
2751
|
+
pattern-either:
|
|
2752
|
+
- pattern: |-
|
|
2753
|
+
require('@electron/remote')
|
|
2754
|
+
- pattern-regex: 'Vulnerable:\\s*INS\\-152\\b'
|
|
2755
|
+
message: |-
|
|
2756
|
+
RunSec Detection [INS-152]: CWE-94
|
|
2757
|
+
languages:
|
|
2758
|
+
- generic
|
|
2759
|
+
severity: WARNING
|