@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.
Files changed (40) hide show
  1. package/dist/index.js +578 -0
  2. package/package.json +43 -0
  3. package/src/rules/data/rule-compliance-map.json +43563 -0
  4. package/src/rules/data/semgrep-rules/README-taint-overlays.md +21 -0
  5. package/src/rules/data/semgrep-rules/advanced-agent-cloud.yaml +802 -0
  6. package/src/rules/data/semgrep-rules/app-logic.yaml +445 -0
  7. package/src/rules/data/semgrep-rules/auth-keycloak.yaml +831 -0
  8. package/src/rules/data/semgrep-rules/browser-agent.yaml +260 -0
  9. package/src/rules/data/semgrep-rules/cloud-secrets.yaml +316 -0
  10. package/src/rules/data/semgrep-rules/csharp-dotnet.yaml +4864 -0
  11. package/src/rules/data/semgrep-rules/desktop-electron-pro.yaml +30 -0
  12. package/src/rules/data/semgrep-rules/desktop-vsto-suite.yaml +2759 -0
  13. package/src/rules/data/semgrep-rules/devops-security.yaml +393 -0
  14. package/src/rules/data/semgrep-rules/domain-access-management.yaml +1023 -0
  15. package/src/rules/data/semgrep-rules/domain-data-privacy.yaml +852 -0
  16. package/src/rules/data/semgrep-rules/domain-input-validation.yaml +2894 -0
  17. package/src/rules/data/semgrep-rules/domain-platform-hardening.yaml +1715 -0
  18. package/src/rules/data/semgrep-rules/ds-ml-security.yaml +2431 -0
  19. package/src/rules/data/semgrep-rules/fastapi-async.yaml +5953 -0
  20. package/src/rules/data/semgrep-rules/frontend-react.yaml +4035 -0
  21. package/src/rules/data/semgrep-rules/frontend-security.yaml +200 -0
  22. package/src/rules/data/semgrep-rules/go-core.yaml +4959 -0
  23. package/src/rules/data/semgrep-rules/hft-cpp-security.yaml +631 -0
  24. package/src/rules/data/semgrep-rules/infra-k8s-helm.yaml +4968 -0
  25. package/src/rules/data/semgrep-rules/integration-security.yaml +2362 -0
  26. package/src/rules/data/semgrep-rules/java-enterprise.yaml +14756 -0
  27. package/src/rules/data/semgrep-rules/java-spring.yaml +397 -0
  28. package/src/rules/data/semgrep-rules/license-compliance.yaml +186 -0
  29. package/src/rules/data/semgrep-rules/mobile-flutter.yaml +37 -0
  30. package/src/rules/data/semgrep-rules/mobile-security.yaml +721 -0
  31. package/src/rules/data/semgrep-rules/nodejs-nestjs.yaml +5164 -0
  32. package/src/rules/data/semgrep-rules/nodejs-security.yaml +326 -0
  33. package/src/rules/data/semgrep-rules/observability.yaml +381 -0
  34. package/src/rules/data/semgrep-rules/php-security.yaml +3601 -0
  35. package/src/rules/data/semgrep-rules/python-backend-pro.yaml +30 -0
  36. package/src/rules/data/semgrep-rules/python-django.yaml +181 -0
  37. package/src/rules/data/semgrep-rules/python-security.yaml +284 -0
  38. package/src/rules/data/semgrep-rules/ru-regulatory.yaml +496 -0
  39. package/src/rules/data/semgrep-rules/ruby-rails.yaml +3078 -0
  40. package/src/rules/data/semgrep-rules/rust-security.yaml +2701 -0
@@ -0,0 +1,2701 @@
1
+ rules:
2
+ - id: runsec.rust-security.rsx-001
3
+ metadata:
4
+ runsec_version: v1.0
5
+ confidence: |-
6
+ 0.9
7
+ exploit_scenario: |-
8
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
9
+ fix_template: |-
10
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
11
+ pattern-either:
12
+ - pattern: |-
13
+ unsafe { *ptr = value; }
14
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-001\\b'
15
+ message: |-
16
+ RunSec Detection [RSX-001]: CWE-119
17
+ languages:
18
+ - generic
19
+ severity: WARNING
20
+ - id: runsec.rust-security.rsx-002
21
+ metadata:
22
+ runsec_version: v1.0
23
+ confidence: |-
24
+ 0.9
25
+ exploit_scenario: |-
26
+ Leaked async resources accumulate and degrade service availability.
27
+ fix_template: |-
28
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
29
+ pattern-either:
30
+ - pattern: |-
31
+ let conn = pool.get().await?; if bad { return Ok(()); }
32
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-002\\b'
33
+ message: |-
34
+ RunSec Detection [RSX-002]: CWE-772
35
+ languages:
36
+ - generic
37
+ severity: WARNING
38
+ - id: runsec.rust-security.rsx-003
39
+ metadata:
40
+ runsec_version: v1.0
41
+ confidence: |-
42
+ 0.9
43
+ exploit_scenario: |-
44
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
45
+ fix_template: |-
46
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
47
+ pattern-either:
48
+ - pattern: |-
49
+ let total = price * quantity;
50
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-003\\b'
51
+ message: |-
52
+ RunSec Detection [RSX-003]: CWE-190
53
+ languages:
54
+ - generic
55
+ severity: WARNING
56
+ - id: runsec.rust-security.rsx-004
57
+ metadata:
58
+ runsec_version: v1.0
59
+ confidence: |-
60
+ 0.9
61
+ exploit_scenario: |-
62
+ Type punning via transmute may break layout assumptions and trigger UB.
63
+ fix_template: |-
64
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
65
+ pattern-either:
66
+ - pattern: |-
67
+ let out: Target = unsafe { std::mem::transmute(input) };
68
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-004\\b'
69
+ message: |-
70
+ RunSec Detection [RSX-004]: CWE-704
71
+ languages:
72
+ - generic
73
+ severity: WARNING
74
+ - id: runsec.rust-security.rsx-005
75
+ metadata:
76
+ runsec_version: v1.0
77
+ confidence: |-
78
+ 0.9
79
+ exploit_scenario: |-
80
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
81
+ fix_template: |-
82
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
83
+ pattern-either:
84
+ - pattern: |-
85
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
86
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-005\\b'
87
+ message: |-
88
+ RunSec Detection [RSX-005]: CWE-362
89
+ languages:
90
+ - generic
91
+ severity: WARNING
92
+ - id: runsec.rust-security.rsx-006
93
+ metadata:
94
+ runsec_version: v1.0
95
+ confidence: |-
96
+ 0.9
97
+ exploit_scenario: |-
98
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
99
+ fix_template: |-
100
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
101
+ pattern-either:
102
+ - pattern: |-
103
+ unsafe { *ptr = value; }
104
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-006\\b'
105
+ message: |-
106
+ RunSec Detection [RSX-006]: CWE-119
107
+ languages:
108
+ - generic
109
+ severity: WARNING
110
+ - id: runsec.rust-security.rsx-007
111
+ metadata:
112
+ runsec_version: v1.0
113
+ confidence: |-
114
+ 0.9
115
+ exploit_scenario: |-
116
+ Leaked async resources accumulate and degrade service availability.
117
+ fix_template: |-
118
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
119
+ pattern-either:
120
+ - pattern: |-
121
+ let conn = pool.get().await?; if bad { return Ok(()); }
122
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-007\\b'
123
+ message: |-
124
+ RunSec Detection [RSX-007]: CWE-772
125
+ languages:
126
+ - generic
127
+ severity: WARNING
128
+ - id: runsec.rust-security.rsx-008
129
+ metadata:
130
+ runsec_version: v1.0
131
+ confidence: |-
132
+ 0.9
133
+ exploit_scenario: |-
134
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
135
+ fix_template: |-
136
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
137
+ pattern-either:
138
+ - pattern: |-
139
+ let total = price * quantity;
140
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-008\\b'
141
+ message: |-
142
+ RunSec Detection [RSX-008]: CWE-190
143
+ languages:
144
+ - generic
145
+ severity: WARNING
146
+ - id: runsec.rust-security.rsx-009
147
+ metadata:
148
+ runsec_version: v1.0
149
+ confidence: |-
150
+ 0.9
151
+ exploit_scenario: |-
152
+ Type punning via transmute may break layout assumptions and trigger UB.
153
+ fix_template: |-
154
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
155
+ pattern-either:
156
+ - pattern: |-
157
+ let out: Target = unsafe { std::mem::transmute(input) };
158
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-009\\b'
159
+ message: |-
160
+ RunSec Detection [RSX-009]: CWE-704
161
+ languages:
162
+ - generic
163
+ severity: WARNING
164
+ - id: runsec.rust-security.rsx-010
165
+ metadata:
166
+ runsec_version: v1.0
167
+ confidence: |-
168
+ 0.9
169
+ exploit_scenario: |-
170
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
171
+ fix_template: |-
172
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
173
+ pattern-either:
174
+ - pattern: |-
175
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
176
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-010\\b'
177
+ message: |-
178
+ RunSec Detection [RSX-010]: CWE-362
179
+ languages:
180
+ - generic
181
+ severity: WARNING
182
+ - id: runsec.rust-security.rsx-011
183
+ metadata:
184
+ runsec_version: v1.0
185
+ confidence: |-
186
+ 0.9
187
+ exploit_scenario: |-
188
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
189
+ fix_template: |-
190
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
191
+ pattern-either:
192
+ - pattern: |-
193
+ unsafe { *ptr = value; }
194
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-011\\b'
195
+ message: |-
196
+ RunSec Detection [RSX-011]: CWE-119
197
+ languages:
198
+ - generic
199
+ severity: WARNING
200
+ - id: runsec.rust-security.rsx-012
201
+ metadata:
202
+ runsec_version: v1.0
203
+ confidence: |-
204
+ 0.9
205
+ exploit_scenario: |-
206
+ Leaked async resources accumulate and degrade service availability.
207
+ fix_template: |-
208
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
209
+ pattern-either:
210
+ - pattern: |-
211
+ let conn = pool.get().await?; if bad { return Ok(()); }
212
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-012\\b'
213
+ message: |-
214
+ RunSec Detection [RSX-012]: CWE-772
215
+ languages:
216
+ - generic
217
+ severity: WARNING
218
+ - id: runsec.rust-security.rsx-013
219
+ metadata:
220
+ runsec_version: v1.0
221
+ confidence: |-
222
+ 0.9
223
+ exploit_scenario: |-
224
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
225
+ fix_template: |-
226
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
227
+ pattern-either:
228
+ - pattern: |-
229
+ let total = price * quantity;
230
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-013\\b'
231
+ message: |-
232
+ RunSec Detection [RSX-013]: CWE-190
233
+ languages:
234
+ - generic
235
+ severity: WARNING
236
+ - id: runsec.rust-security.rsx-014
237
+ metadata:
238
+ runsec_version: v1.0
239
+ confidence: |-
240
+ 0.9
241
+ exploit_scenario: |-
242
+ Type punning via transmute may break layout assumptions and trigger UB.
243
+ fix_template: |-
244
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
245
+ pattern-either:
246
+ - pattern: |-
247
+ let out: Target = unsafe { std::mem::transmute(input) };
248
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-014\\b'
249
+ message: |-
250
+ RunSec Detection [RSX-014]: CWE-704
251
+ languages:
252
+ - generic
253
+ severity: WARNING
254
+ - id: runsec.rust-security.rsx-015
255
+ metadata:
256
+ runsec_version: v1.0
257
+ confidence: |-
258
+ 0.9
259
+ exploit_scenario: |-
260
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
261
+ fix_template: |-
262
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
263
+ pattern-either:
264
+ - pattern: |-
265
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
266
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-015\\b'
267
+ message: |-
268
+ RunSec Detection [RSX-015]: CWE-362
269
+ languages:
270
+ - generic
271
+ severity: WARNING
272
+ - id: runsec.rust-security.rsx-016
273
+ metadata:
274
+ runsec_version: v1.0
275
+ confidence: |-
276
+ 0.9
277
+ exploit_scenario: |-
278
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
279
+ fix_template: |-
280
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
281
+ pattern-either:
282
+ - pattern: |-
283
+ unsafe { *ptr = value; }
284
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-016\\b'
285
+ message: |-
286
+ RunSec Detection [RSX-016]: CWE-119
287
+ languages:
288
+ - generic
289
+ severity: WARNING
290
+ - id: runsec.rust-security.rsx-017
291
+ metadata:
292
+ runsec_version: v1.0
293
+ confidence: |-
294
+ 0.9
295
+ exploit_scenario: |-
296
+ Leaked async resources accumulate and degrade service availability.
297
+ fix_template: |-
298
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
299
+ pattern-either:
300
+ - pattern: |-
301
+ let conn = pool.get().await?; if bad { return Ok(()); }
302
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-017\\b'
303
+ message: |-
304
+ RunSec Detection [RSX-017]: CWE-772
305
+ languages:
306
+ - generic
307
+ severity: WARNING
308
+ - id: runsec.rust-security.rsx-018
309
+ metadata:
310
+ runsec_version: v1.0
311
+ confidence: |-
312
+ 0.9
313
+ exploit_scenario: |-
314
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
315
+ fix_template: |-
316
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
317
+ pattern-either:
318
+ - pattern: |-
319
+ let total = price * quantity;
320
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-018\\b'
321
+ message: |-
322
+ RunSec Detection [RSX-018]: CWE-190
323
+ languages:
324
+ - generic
325
+ severity: WARNING
326
+ - id: runsec.rust-security.rsx-019
327
+ metadata:
328
+ runsec_version: v1.0
329
+ confidence: |-
330
+ 0.9
331
+ exploit_scenario: |-
332
+ Type punning via transmute may break layout assumptions and trigger UB.
333
+ fix_template: |-
334
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
335
+ pattern-either:
336
+ - pattern: |-
337
+ let out: Target = unsafe { std::mem::transmute(input) };
338
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-019\\b'
339
+ message: |-
340
+ RunSec Detection [RSX-019]: CWE-704
341
+ languages:
342
+ - generic
343
+ severity: WARNING
344
+ - id: runsec.rust-security.rsx-020
345
+ metadata:
346
+ runsec_version: v1.0
347
+ confidence: |-
348
+ 0.9
349
+ exploit_scenario: |-
350
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
351
+ fix_template: |-
352
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
353
+ pattern-either:
354
+ - pattern: |-
355
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
356
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-020\\b'
357
+ message: |-
358
+ RunSec Detection [RSX-020]: CWE-362
359
+ languages:
360
+ - generic
361
+ severity: WARNING
362
+ - id: runsec.rust-security.rsx-021
363
+ metadata:
364
+ runsec_version: v1.0
365
+ confidence: |-
366
+ 0.9
367
+ exploit_scenario: |-
368
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
369
+ fix_template: |-
370
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
371
+ pattern-either:
372
+ - pattern: |-
373
+ unsafe { *ptr = value; }
374
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-021\\b'
375
+ message: |-
376
+ RunSec Detection [RSX-021]: CWE-119
377
+ languages:
378
+ - generic
379
+ severity: WARNING
380
+ - id: runsec.rust-security.rsx-022
381
+ metadata:
382
+ runsec_version: v1.0
383
+ confidence: |-
384
+ 0.9
385
+ exploit_scenario: |-
386
+ Leaked async resources accumulate and degrade service availability.
387
+ fix_template: |-
388
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
389
+ pattern-either:
390
+ - pattern: |-
391
+ let conn = pool.get().await?; if bad { return Ok(()); }
392
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-022\\b'
393
+ message: |-
394
+ RunSec Detection [RSX-022]: CWE-772
395
+ languages:
396
+ - generic
397
+ severity: WARNING
398
+ - id: runsec.rust-security.rsx-023
399
+ metadata:
400
+ runsec_version: v1.0
401
+ confidence: |-
402
+ 0.9
403
+ exploit_scenario: |-
404
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
405
+ fix_template: |-
406
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
407
+ pattern-either:
408
+ - pattern: |-
409
+ let total = price * quantity;
410
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-023\\b'
411
+ message: |-
412
+ RunSec Detection [RSX-023]: CWE-190
413
+ languages:
414
+ - generic
415
+ severity: WARNING
416
+ - id: runsec.rust-security.rsx-024
417
+ metadata:
418
+ runsec_version: v1.0
419
+ confidence: |-
420
+ 0.9
421
+ exploit_scenario: |-
422
+ Type punning via transmute may break layout assumptions and trigger UB.
423
+ fix_template: |-
424
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
425
+ pattern-either:
426
+ - pattern: |-
427
+ let out: Target = unsafe { std::mem::transmute(input) };
428
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-024\\b'
429
+ message: |-
430
+ RunSec Detection [RSX-024]: CWE-704
431
+ languages:
432
+ - generic
433
+ severity: WARNING
434
+ - id: runsec.rust-security.rsx-025
435
+ metadata:
436
+ runsec_version: v1.0
437
+ confidence: |-
438
+ 0.9
439
+ exploit_scenario: |-
440
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
441
+ fix_template: |-
442
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
443
+ pattern-either:
444
+ - pattern: |-
445
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
446
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-025\\b'
447
+ message: |-
448
+ RunSec Detection [RSX-025]: CWE-362
449
+ languages:
450
+ - generic
451
+ severity: WARNING
452
+ - id: runsec.rust-security.rsx-026
453
+ metadata:
454
+ runsec_version: v1.0
455
+ confidence: |-
456
+ 0.9
457
+ exploit_scenario: |-
458
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
459
+ fix_template: |-
460
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
461
+ pattern-either:
462
+ - pattern: |-
463
+ unsafe { *ptr = value; }
464
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-026\\b'
465
+ message: |-
466
+ RunSec Detection [RSX-026]: CWE-119
467
+ languages:
468
+ - generic
469
+ severity: WARNING
470
+ - id: runsec.rust-security.rsx-027
471
+ metadata:
472
+ runsec_version: v1.0
473
+ confidence: |-
474
+ 0.9
475
+ exploit_scenario: |-
476
+ Leaked async resources accumulate and degrade service availability.
477
+ fix_template: |-
478
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
479
+ pattern-either:
480
+ - pattern: |-
481
+ let conn = pool.get().await?; if bad { return Ok(()); }
482
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-027\\b'
483
+ message: |-
484
+ RunSec Detection [RSX-027]: CWE-772
485
+ languages:
486
+ - generic
487
+ severity: WARNING
488
+ - id: runsec.rust-security.rsx-028
489
+ metadata:
490
+ runsec_version: v1.0
491
+ confidence: |-
492
+ 0.9
493
+ exploit_scenario: |-
494
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
495
+ fix_template: |-
496
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
497
+ pattern-either:
498
+ - pattern: |-
499
+ let total = price * quantity;
500
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-028\\b'
501
+ message: |-
502
+ RunSec Detection [RSX-028]: CWE-190
503
+ languages:
504
+ - generic
505
+ severity: WARNING
506
+ - id: runsec.rust-security.rsx-029
507
+ metadata:
508
+ runsec_version: v1.0
509
+ confidence: |-
510
+ 0.9
511
+ exploit_scenario: |-
512
+ Type punning via transmute may break layout assumptions and trigger UB.
513
+ fix_template: |-
514
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
515
+ pattern-either:
516
+ - pattern: |-
517
+ let out: Target = unsafe { std::mem::transmute(input) };
518
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-029\\b'
519
+ message: |-
520
+ RunSec Detection [RSX-029]: CWE-704
521
+ languages:
522
+ - generic
523
+ severity: WARNING
524
+ - id: runsec.rust-security.rsx-030
525
+ metadata:
526
+ runsec_version: v1.0
527
+ confidence: |-
528
+ 0.9
529
+ exploit_scenario: |-
530
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
531
+ fix_template: |-
532
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
533
+ pattern-either:
534
+ - pattern: |-
535
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
536
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-030\\b'
537
+ message: |-
538
+ RunSec Detection [RSX-030]: CWE-362
539
+ languages:
540
+ - generic
541
+ severity: WARNING
542
+ - id: runsec.rust-security.rsx-031
543
+ metadata:
544
+ runsec_version: v1.0
545
+ confidence: |-
546
+ 0.9
547
+ exploit_scenario: |-
548
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
549
+ fix_template: |-
550
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
551
+ pattern-either:
552
+ - pattern: |-
553
+ unsafe { *ptr = value; }
554
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-031\\b'
555
+ message: |-
556
+ RunSec Detection [RSX-031]: CWE-119
557
+ languages:
558
+ - generic
559
+ severity: WARNING
560
+ - id: runsec.rust-security.rsx-032
561
+ metadata:
562
+ runsec_version: v1.0
563
+ confidence: |-
564
+ 0.9
565
+ exploit_scenario: |-
566
+ Leaked async resources accumulate and degrade service availability.
567
+ fix_template: |-
568
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
569
+ pattern-either:
570
+ - pattern: |-
571
+ let conn = pool.get().await?; if bad { return Ok(()); }
572
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-032\\b'
573
+ message: |-
574
+ RunSec Detection [RSX-032]: CWE-772
575
+ languages:
576
+ - generic
577
+ severity: WARNING
578
+ - id: runsec.rust-security.rsx-033
579
+ metadata:
580
+ runsec_version: v1.0
581
+ confidence: |-
582
+ 0.9
583
+ exploit_scenario: |-
584
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
585
+ fix_template: |-
586
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
587
+ pattern-either:
588
+ - pattern: |-
589
+ let total = price * quantity;
590
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-033\\b'
591
+ message: |-
592
+ RunSec Detection [RSX-033]: CWE-190
593
+ languages:
594
+ - generic
595
+ severity: WARNING
596
+ - id: runsec.rust-security.rsx-034
597
+ metadata:
598
+ runsec_version: v1.0
599
+ confidence: |-
600
+ 0.9
601
+ exploit_scenario: |-
602
+ Type punning via transmute may break layout assumptions and trigger UB.
603
+ fix_template: |-
604
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
605
+ pattern-either:
606
+ - pattern: |-
607
+ let out: Target = unsafe { std::mem::transmute(input) };
608
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-034\\b'
609
+ message: |-
610
+ RunSec Detection [RSX-034]: CWE-704
611
+ languages:
612
+ - generic
613
+ severity: WARNING
614
+ - id: runsec.rust-security.rsx-035
615
+ metadata:
616
+ runsec_version: v1.0
617
+ confidence: |-
618
+ 0.9
619
+ exploit_scenario: |-
620
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
621
+ fix_template: |-
622
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
623
+ pattern-either:
624
+ - pattern: |-
625
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
626
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-035\\b'
627
+ message: |-
628
+ RunSec Detection [RSX-035]: CWE-362
629
+ languages:
630
+ - generic
631
+ severity: WARNING
632
+ - id: runsec.rust-security.rsx-036
633
+ metadata:
634
+ runsec_version: v1.0
635
+ confidence: |-
636
+ 0.9
637
+ exploit_scenario: |-
638
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
639
+ fix_template: |-
640
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
641
+ pattern-either:
642
+ - pattern: |-
643
+ unsafe { *ptr = value; }
644
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-036\\b'
645
+ message: |-
646
+ RunSec Detection [RSX-036]: CWE-119
647
+ languages:
648
+ - generic
649
+ severity: WARNING
650
+ - id: runsec.rust-security.rsx-037
651
+ metadata:
652
+ runsec_version: v1.0
653
+ confidence: |-
654
+ 0.9
655
+ exploit_scenario: |-
656
+ Leaked async resources accumulate and degrade service availability.
657
+ fix_template: |-
658
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
659
+ pattern-either:
660
+ - pattern: |-
661
+ let conn = pool.get().await?; if bad { return Ok(()); }
662
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-037\\b'
663
+ message: |-
664
+ RunSec Detection [RSX-037]: CWE-772
665
+ languages:
666
+ - generic
667
+ severity: WARNING
668
+ - id: runsec.rust-security.rsx-038
669
+ metadata:
670
+ runsec_version: v1.0
671
+ confidence: |-
672
+ 0.9
673
+ exploit_scenario: |-
674
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
675
+ fix_template: |-
676
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
677
+ pattern-either:
678
+ - pattern: |-
679
+ let total = price * quantity;
680
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-038\\b'
681
+ message: |-
682
+ RunSec Detection [RSX-038]: CWE-190
683
+ languages:
684
+ - generic
685
+ severity: WARNING
686
+ - id: runsec.rust-security.rsx-039
687
+ metadata:
688
+ runsec_version: v1.0
689
+ confidence: |-
690
+ 0.9
691
+ exploit_scenario: |-
692
+ Type punning via transmute may break layout assumptions and trigger UB.
693
+ fix_template: |-
694
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
695
+ pattern-either:
696
+ - pattern: |-
697
+ let out: Target = unsafe { std::mem::transmute(input) };
698
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-039\\b'
699
+ message: |-
700
+ RunSec Detection [RSX-039]: CWE-704
701
+ languages:
702
+ - generic
703
+ severity: WARNING
704
+ - id: runsec.rust-security.rsx-040
705
+ metadata:
706
+ runsec_version: v1.0
707
+ confidence: |-
708
+ 0.9
709
+ exploit_scenario: |-
710
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
711
+ fix_template: |-
712
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
713
+ pattern-either:
714
+ - pattern: |-
715
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
716
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-040\\b'
717
+ message: |-
718
+ RunSec Detection [RSX-040]: CWE-362
719
+ languages:
720
+ - generic
721
+ severity: WARNING
722
+ - id: runsec.rust-security.rsx-041
723
+ metadata:
724
+ runsec_version: v1.0
725
+ confidence: |-
726
+ 0.9
727
+ exploit_scenario: |-
728
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
729
+ fix_template: |-
730
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
731
+ pattern-either:
732
+ - pattern: |-
733
+ unsafe { *ptr = value; }
734
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-041\\b'
735
+ message: |-
736
+ RunSec Detection [RSX-041]: CWE-119
737
+ languages:
738
+ - generic
739
+ severity: WARNING
740
+ - id: runsec.rust-security.rsx-042
741
+ metadata:
742
+ runsec_version: v1.0
743
+ confidence: |-
744
+ 0.9
745
+ exploit_scenario: |-
746
+ Leaked async resources accumulate and degrade service availability.
747
+ fix_template: |-
748
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
749
+ pattern-either:
750
+ - pattern: |-
751
+ let conn = pool.get().await?; if bad { return Ok(()); }
752
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-042\\b'
753
+ message: |-
754
+ RunSec Detection [RSX-042]: CWE-772
755
+ languages:
756
+ - generic
757
+ severity: WARNING
758
+ - id: runsec.rust-security.rsx-043
759
+ metadata:
760
+ runsec_version: v1.0
761
+ confidence: |-
762
+ 0.9
763
+ exploit_scenario: |-
764
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
765
+ fix_template: |-
766
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
767
+ pattern-either:
768
+ - pattern: |-
769
+ let total = price * quantity;
770
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-043\\b'
771
+ message: |-
772
+ RunSec Detection [RSX-043]: CWE-190
773
+ languages:
774
+ - generic
775
+ severity: WARNING
776
+ - id: runsec.rust-security.rsx-044
777
+ metadata:
778
+ runsec_version: v1.0
779
+ confidence: |-
780
+ 0.9
781
+ exploit_scenario: |-
782
+ Type punning via transmute may break layout assumptions and trigger UB.
783
+ fix_template: |-
784
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
785
+ pattern-either:
786
+ - pattern: |-
787
+ let out: Target = unsafe { std::mem::transmute(input) };
788
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-044\\b'
789
+ message: |-
790
+ RunSec Detection [RSX-044]: CWE-704
791
+ languages:
792
+ - generic
793
+ severity: WARNING
794
+ - id: runsec.rust-security.rsx-045
795
+ metadata:
796
+ runsec_version: v1.0
797
+ confidence: |-
798
+ 0.9
799
+ exploit_scenario: |-
800
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
801
+ fix_template: |-
802
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
803
+ pattern-either:
804
+ - pattern: |-
805
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
806
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-045\\b'
807
+ message: |-
808
+ RunSec Detection [RSX-045]: CWE-362
809
+ languages:
810
+ - generic
811
+ severity: WARNING
812
+ - id: runsec.rust-security.rsx-046
813
+ metadata:
814
+ runsec_version: v1.0
815
+ confidence: |-
816
+ 0.9
817
+ exploit_scenario: |-
818
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
819
+ fix_template: |-
820
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
821
+ pattern-either:
822
+ - pattern: |-
823
+ unsafe { *ptr = value; }
824
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-046\\b'
825
+ message: |-
826
+ RunSec Detection [RSX-046]: CWE-119
827
+ languages:
828
+ - generic
829
+ severity: WARNING
830
+ - id: runsec.rust-security.rsx-047
831
+ metadata:
832
+ runsec_version: v1.0
833
+ confidence: |-
834
+ 0.9
835
+ exploit_scenario: |-
836
+ Leaked async resources accumulate and degrade service availability.
837
+ fix_template: |-
838
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
839
+ pattern-either:
840
+ - pattern: |-
841
+ let conn = pool.get().await?; if bad { return Ok(()); }
842
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-047\\b'
843
+ message: |-
844
+ RunSec Detection [RSX-047]: CWE-772
845
+ languages:
846
+ - generic
847
+ severity: WARNING
848
+ - id: runsec.rust-security.rsx-048
849
+ metadata:
850
+ runsec_version: v1.0
851
+ confidence: |-
852
+ 0.9
853
+ exploit_scenario: |-
854
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
855
+ fix_template: |-
856
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
857
+ pattern-either:
858
+ - pattern: |-
859
+ let total = price * quantity;
860
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-048\\b'
861
+ message: |-
862
+ RunSec Detection [RSX-048]: CWE-190
863
+ languages:
864
+ - generic
865
+ severity: WARNING
866
+ - id: runsec.rust-security.rsx-049
867
+ metadata:
868
+ runsec_version: v1.0
869
+ confidence: |-
870
+ 0.9
871
+ exploit_scenario: |-
872
+ Type punning via transmute may break layout assumptions and trigger UB.
873
+ fix_template: |-
874
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
875
+ pattern-either:
876
+ - pattern: |-
877
+ let out: Target = unsafe { std::mem::transmute(input) };
878
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-049\\b'
879
+ message: |-
880
+ RunSec Detection [RSX-049]: CWE-704
881
+ languages:
882
+ - generic
883
+ severity: WARNING
884
+ - id: runsec.rust-security.rsx-050
885
+ metadata:
886
+ runsec_version: v1.0
887
+ confidence: |-
888
+ 0.9
889
+ exploit_scenario: |-
890
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
891
+ fix_template: |-
892
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
893
+ pattern-either:
894
+ - pattern: |-
895
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
896
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-050\\b'
897
+ message: |-
898
+ RunSec Detection [RSX-050]: CWE-362
899
+ languages:
900
+ - generic
901
+ severity: WARNING
902
+ - id: runsec.rust-security.rsx-051
903
+ metadata:
904
+ runsec_version: v1.0
905
+ confidence: |-
906
+ 0.9
907
+ exploit_scenario: |-
908
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
909
+ fix_template: |-
910
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
911
+ pattern-either:
912
+ - pattern: |-
913
+ unsafe { *ptr = value; }
914
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-051\\b'
915
+ message: |-
916
+ RunSec Detection [RSX-051]: CWE-119
917
+ languages:
918
+ - generic
919
+ severity: WARNING
920
+ - id: runsec.rust-security.rsx-052
921
+ metadata:
922
+ runsec_version: v1.0
923
+ confidence: |-
924
+ 0.9
925
+ exploit_scenario: |-
926
+ Leaked async resources accumulate and degrade service availability.
927
+ fix_template: |-
928
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
929
+ pattern-either:
930
+ - pattern: |-
931
+ let conn = pool.get().await?; if bad { return Ok(()); }
932
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-052\\b'
933
+ message: |-
934
+ RunSec Detection [RSX-052]: CWE-772
935
+ languages:
936
+ - generic
937
+ severity: WARNING
938
+ - id: runsec.rust-security.rsx-053
939
+ metadata:
940
+ runsec_version: v1.0
941
+ confidence: |-
942
+ 0.9
943
+ exploit_scenario: |-
944
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
945
+ fix_template: |-
946
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
947
+ pattern-either:
948
+ - pattern: |-
949
+ let total = price * quantity;
950
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-053\\b'
951
+ message: |-
952
+ RunSec Detection [RSX-053]: CWE-190
953
+ languages:
954
+ - generic
955
+ severity: WARNING
956
+ - id: runsec.rust-security.rsx-054
957
+ metadata:
958
+ runsec_version: v1.0
959
+ confidence: |-
960
+ 0.9
961
+ exploit_scenario: |-
962
+ Type punning via transmute may break layout assumptions and trigger UB.
963
+ fix_template: |-
964
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
965
+ pattern-either:
966
+ - pattern: |-
967
+ let out: Target = unsafe { std::mem::transmute(input) };
968
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-054\\b'
969
+ message: |-
970
+ RunSec Detection [RSX-054]: CWE-704
971
+ languages:
972
+ - generic
973
+ severity: WARNING
974
+ - id: runsec.rust-security.rsx-055
975
+ metadata:
976
+ runsec_version: v1.0
977
+ confidence: |-
978
+ 0.9
979
+ exploit_scenario: |-
980
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
981
+ fix_template: |-
982
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
983
+ pattern-either:
984
+ - pattern: |-
985
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
986
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-055\\b'
987
+ message: |-
988
+ RunSec Detection [RSX-055]: CWE-362
989
+ languages:
990
+ - generic
991
+ severity: WARNING
992
+ - id: runsec.rust-security.rsx-056
993
+ metadata:
994
+ runsec_version: v1.0
995
+ confidence: |-
996
+ 0.9
997
+ exploit_scenario: |-
998
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
999
+ fix_template: |-
1000
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1001
+ pattern-either:
1002
+ - pattern: |-
1003
+ unsafe { *ptr = value; }
1004
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-056\\b'
1005
+ message: |-
1006
+ RunSec Detection [RSX-056]: CWE-119
1007
+ languages:
1008
+ - generic
1009
+ severity: WARNING
1010
+ - id: runsec.rust-security.rsx-057
1011
+ metadata:
1012
+ runsec_version: v1.0
1013
+ confidence: |-
1014
+ 0.9
1015
+ exploit_scenario: |-
1016
+ Leaked async resources accumulate and degrade service availability.
1017
+ fix_template: |-
1018
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1019
+ pattern-either:
1020
+ - pattern: |-
1021
+ let conn = pool.get().await?; if bad { return Ok(()); }
1022
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-057\\b'
1023
+ message: |-
1024
+ RunSec Detection [RSX-057]: CWE-772
1025
+ languages:
1026
+ - generic
1027
+ severity: WARNING
1028
+ - id: runsec.rust-security.rsx-058
1029
+ metadata:
1030
+ runsec_version: v1.0
1031
+ confidence: |-
1032
+ 0.9
1033
+ exploit_scenario: |-
1034
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1035
+ fix_template: |-
1036
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1037
+ pattern-either:
1038
+ - pattern: |-
1039
+ let total = price * quantity;
1040
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-058\\b'
1041
+ message: |-
1042
+ RunSec Detection [RSX-058]: CWE-190
1043
+ languages:
1044
+ - generic
1045
+ severity: WARNING
1046
+ - id: runsec.rust-security.rsx-059
1047
+ metadata:
1048
+ runsec_version: v1.0
1049
+ confidence: |-
1050
+ 0.9
1051
+ exploit_scenario: |-
1052
+ Type punning via transmute may break layout assumptions and trigger UB.
1053
+ fix_template: |-
1054
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1055
+ pattern-either:
1056
+ - pattern: |-
1057
+ let out: Target = unsafe { std::mem::transmute(input) };
1058
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-059\\b'
1059
+ message: |-
1060
+ RunSec Detection [RSX-059]: CWE-704
1061
+ languages:
1062
+ - generic
1063
+ severity: WARNING
1064
+ - id: runsec.rust-security.rsx-060
1065
+ metadata:
1066
+ runsec_version: v1.0
1067
+ confidence: |-
1068
+ 0.9
1069
+ exploit_scenario: |-
1070
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1071
+ fix_template: |-
1072
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1073
+ pattern-either:
1074
+ - pattern: |-
1075
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1076
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-060\\b'
1077
+ message: |-
1078
+ RunSec Detection [RSX-060]: CWE-362
1079
+ languages:
1080
+ - generic
1081
+ severity: WARNING
1082
+ - id: runsec.rust-security.rsx-061
1083
+ metadata:
1084
+ runsec_version: v1.0
1085
+ confidence: |-
1086
+ 0.9
1087
+ exploit_scenario: |-
1088
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1089
+ fix_template: |-
1090
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1091
+ pattern-either:
1092
+ - pattern: |-
1093
+ unsafe { *ptr = value; }
1094
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-061\\b'
1095
+ message: |-
1096
+ RunSec Detection [RSX-061]: CWE-119
1097
+ languages:
1098
+ - generic
1099
+ severity: WARNING
1100
+ - id: runsec.rust-security.rsx-062
1101
+ metadata:
1102
+ runsec_version: v1.0
1103
+ confidence: |-
1104
+ 0.9
1105
+ exploit_scenario: |-
1106
+ Leaked async resources accumulate and degrade service availability.
1107
+ fix_template: |-
1108
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1109
+ pattern-either:
1110
+ - pattern: |-
1111
+ let conn = pool.get().await?; if bad { return Ok(()); }
1112
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-062\\b'
1113
+ message: |-
1114
+ RunSec Detection [RSX-062]: CWE-772
1115
+ languages:
1116
+ - generic
1117
+ severity: WARNING
1118
+ - id: runsec.rust-security.rsx-063
1119
+ metadata:
1120
+ runsec_version: v1.0
1121
+ confidence: |-
1122
+ 0.9
1123
+ exploit_scenario: |-
1124
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1125
+ fix_template: |-
1126
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1127
+ pattern-either:
1128
+ - pattern: |-
1129
+ let total = price * quantity;
1130
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-063\\b'
1131
+ message: |-
1132
+ RunSec Detection [RSX-063]: CWE-190
1133
+ languages:
1134
+ - generic
1135
+ severity: WARNING
1136
+ - id: runsec.rust-security.rsx-064
1137
+ metadata:
1138
+ runsec_version: v1.0
1139
+ confidence: |-
1140
+ 0.9
1141
+ exploit_scenario: |-
1142
+ Type punning via transmute may break layout assumptions and trigger UB.
1143
+ fix_template: |-
1144
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1145
+ pattern-either:
1146
+ - pattern: |-
1147
+ let out: Target = unsafe { std::mem::transmute(input) };
1148
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-064\\b'
1149
+ message: |-
1150
+ RunSec Detection [RSX-064]: CWE-704
1151
+ languages:
1152
+ - generic
1153
+ severity: WARNING
1154
+ - id: runsec.rust-security.rsx-065
1155
+ metadata:
1156
+ runsec_version: v1.0
1157
+ confidence: |-
1158
+ 0.9
1159
+ exploit_scenario: |-
1160
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1161
+ fix_template: |-
1162
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1163
+ pattern-either:
1164
+ - pattern: |-
1165
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1166
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-065\\b'
1167
+ message: |-
1168
+ RunSec Detection [RSX-065]: CWE-362
1169
+ languages:
1170
+ - generic
1171
+ severity: WARNING
1172
+ - id: runsec.rust-security.rsx-066
1173
+ metadata:
1174
+ runsec_version: v1.0
1175
+ confidence: |-
1176
+ 0.9
1177
+ exploit_scenario: |-
1178
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1179
+ fix_template: |-
1180
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1181
+ pattern-either:
1182
+ - pattern: |-
1183
+ unsafe { *ptr = value; }
1184
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-066\\b'
1185
+ message: |-
1186
+ RunSec Detection [RSX-066]: CWE-119
1187
+ languages:
1188
+ - generic
1189
+ severity: WARNING
1190
+ - id: runsec.rust-security.rsx-067
1191
+ metadata:
1192
+ runsec_version: v1.0
1193
+ confidence: |-
1194
+ 0.9
1195
+ exploit_scenario: |-
1196
+ Leaked async resources accumulate and degrade service availability.
1197
+ fix_template: |-
1198
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1199
+ pattern-either:
1200
+ - pattern: |-
1201
+ let conn = pool.get().await?; if bad { return Ok(()); }
1202
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-067\\b'
1203
+ message: |-
1204
+ RunSec Detection [RSX-067]: CWE-772
1205
+ languages:
1206
+ - generic
1207
+ severity: WARNING
1208
+ - id: runsec.rust-security.rsx-068
1209
+ metadata:
1210
+ runsec_version: v1.0
1211
+ confidence: |-
1212
+ 0.9
1213
+ exploit_scenario: |-
1214
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1215
+ fix_template: |-
1216
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1217
+ pattern-either:
1218
+ - pattern: |-
1219
+ let total = price * quantity;
1220
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-068\\b'
1221
+ message: |-
1222
+ RunSec Detection [RSX-068]: CWE-190
1223
+ languages:
1224
+ - generic
1225
+ severity: WARNING
1226
+ - id: runsec.rust-security.rsx-069
1227
+ metadata:
1228
+ runsec_version: v1.0
1229
+ confidence: |-
1230
+ 0.9
1231
+ exploit_scenario: |-
1232
+ Type punning via transmute may break layout assumptions and trigger UB.
1233
+ fix_template: |-
1234
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1235
+ pattern-either:
1236
+ - pattern: |-
1237
+ let out: Target = unsafe { std::mem::transmute(input) };
1238
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-069\\b'
1239
+ message: |-
1240
+ RunSec Detection [RSX-069]: CWE-704
1241
+ languages:
1242
+ - generic
1243
+ severity: WARNING
1244
+ - id: runsec.rust-security.rsx-070
1245
+ metadata:
1246
+ runsec_version: v1.0
1247
+ confidence: |-
1248
+ 0.9
1249
+ exploit_scenario: |-
1250
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1251
+ fix_template: |-
1252
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1253
+ pattern-either:
1254
+ - pattern: |-
1255
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1256
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-070\\b'
1257
+ message: |-
1258
+ RunSec Detection [RSX-070]: CWE-362
1259
+ languages:
1260
+ - generic
1261
+ severity: WARNING
1262
+ - id: runsec.rust-security.rsx-071
1263
+ metadata:
1264
+ runsec_version: v1.0
1265
+ confidence: |-
1266
+ 0.9
1267
+ exploit_scenario: |-
1268
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1269
+ fix_template: |-
1270
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1271
+ pattern-either:
1272
+ - pattern: |-
1273
+ unsafe { *ptr = value; }
1274
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-071\\b'
1275
+ message: |-
1276
+ RunSec Detection [RSX-071]: CWE-119
1277
+ languages:
1278
+ - generic
1279
+ severity: WARNING
1280
+ - id: runsec.rust-security.rsx-072
1281
+ metadata:
1282
+ runsec_version: v1.0
1283
+ confidence: |-
1284
+ 0.9
1285
+ exploit_scenario: |-
1286
+ Leaked async resources accumulate and degrade service availability.
1287
+ fix_template: |-
1288
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1289
+ pattern-either:
1290
+ - pattern: |-
1291
+ let conn = pool.get().await?; if bad { return Ok(()); }
1292
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-072\\b'
1293
+ message: |-
1294
+ RunSec Detection [RSX-072]: CWE-772
1295
+ languages:
1296
+ - generic
1297
+ severity: WARNING
1298
+ - id: runsec.rust-security.rsx-073
1299
+ metadata:
1300
+ runsec_version: v1.0
1301
+ confidence: |-
1302
+ 0.9
1303
+ exploit_scenario: |-
1304
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1305
+ fix_template: |-
1306
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1307
+ pattern-either:
1308
+ - pattern: |-
1309
+ let total = price * quantity;
1310
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-073\\b'
1311
+ message: |-
1312
+ RunSec Detection [RSX-073]: CWE-190
1313
+ languages:
1314
+ - generic
1315
+ severity: WARNING
1316
+ - id: runsec.rust-security.rsx-074
1317
+ metadata:
1318
+ runsec_version: v1.0
1319
+ confidence: |-
1320
+ 0.9
1321
+ exploit_scenario: |-
1322
+ Type punning via transmute may break layout assumptions and trigger UB.
1323
+ fix_template: |-
1324
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1325
+ pattern-either:
1326
+ - pattern: |-
1327
+ let out: Target = unsafe { std::mem::transmute(input) };
1328
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-074\\b'
1329
+ message: |-
1330
+ RunSec Detection [RSX-074]: CWE-704
1331
+ languages:
1332
+ - generic
1333
+ severity: WARNING
1334
+ - id: runsec.rust-security.rsx-075
1335
+ metadata:
1336
+ runsec_version: v1.0
1337
+ confidence: |-
1338
+ 0.9
1339
+ exploit_scenario: |-
1340
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1341
+ fix_template: |-
1342
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1343
+ pattern-either:
1344
+ - pattern: |-
1345
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1346
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-075\\b'
1347
+ message: |-
1348
+ RunSec Detection [RSX-075]: CWE-362
1349
+ languages:
1350
+ - generic
1351
+ severity: WARNING
1352
+ - id: runsec.rust-security.rsx-076
1353
+ metadata:
1354
+ runsec_version: v1.0
1355
+ confidence: |-
1356
+ 0.9
1357
+ exploit_scenario: |-
1358
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1359
+ fix_template: |-
1360
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1361
+ pattern-either:
1362
+ - pattern: |-
1363
+ unsafe { *ptr = value; }
1364
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-076\\b'
1365
+ message: |-
1366
+ RunSec Detection [RSX-076]: CWE-119
1367
+ languages:
1368
+ - generic
1369
+ severity: WARNING
1370
+ - id: runsec.rust-security.rsx-077
1371
+ metadata:
1372
+ runsec_version: v1.0
1373
+ confidence: |-
1374
+ 0.9
1375
+ exploit_scenario: |-
1376
+ Leaked async resources accumulate and degrade service availability.
1377
+ fix_template: |-
1378
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1379
+ pattern-either:
1380
+ - pattern: |-
1381
+ let conn = pool.get().await?; if bad { return Ok(()); }
1382
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-077\\b'
1383
+ message: |-
1384
+ RunSec Detection [RSX-077]: CWE-772
1385
+ languages:
1386
+ - generic
1387
+ severity: WARNING
1388
+ - id: runsec.rust-security.rsx-078
1389
+ metadata:
1390
+ runsec_version: v1.0
1391
+ confidence: |-
1392
+ 0.9
1393
+ exploit_scenario: |-
1394
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1395
+ fix_template: |-
1396
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1397
+ pattern-either:
1398
+ - pattern: |-
1399
+ let total = price * quantity;
1400
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-078\\b'
1401
+ message: |-
1402
+ RunSec Detection [RSX-078]: CWE-190
1403
+ languages:
1404
+ - generic
1405
+ severity: WARNING
1406
+ - id: runsec.rust-security.rsx-079
1407
+ metadata:
1408
+ runsec_version: v1.0
1409
+ confidence: |-
1410
+ 0.9
1411
+ exploit_scenario: |-
1412
+ Type punning via transmute may break layout assumptions and trigger UB.
1413
+ fix_template: |-
1414
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1415
+ pattern-either:
1416
+ - pattern: |-
1417
+ let out: Target = unsafe { std::mem::transmute(input) };
1418
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-079\\b'
1419
+ message: |-
1420
+ RunSec Detection [RSX-079]: CWE-704
1421
+ languages:
1422
+ - generic
1423
+ severity: WARNING
1424
+ - id: runsec.rust-security.rsx-080
1425
+ metadata:
1426
+ runsec_version: v1.0
1427
+ confidence: |-
1428
+ 0.9
1429
+ exploit_scenario: |-
1430
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1431
+ fix_template: |-
1432
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1433
+ pattern-either:
1434
+ - pattern: |-
1435
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1436
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-080\\b'
1437
+ message: |-
1438
+ RunSec Detection [RSX-080]: CWE-362
1439
+ languages:
1440
+ - generic
1441
+ severity: WARNING
1442
+ - id: runsec.rust-security.rsx-081
1443
+ metadata:
1444
+ runsec_version: v1.0
1445
+ confidence: |-
1446
+ 0.9
1447
+ exploit_scenario: |-
1448
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1449
+ fix_template: |-
1450
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1451
+ pattern-either:
1452
+ - pattern: |-
1453
+ unsafe { *ptr = value; }
1454
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-081\\b'
1455
+ message: |-
1456
+ RunSec Detection [RSX-081]: CWE-119
1457
+ languages:
1458
+ - generic
1459
+ severity: WARNING
1460
+ - id: runsec.rust-security.rsx-082
1461
+ metadata:
1462
+ runsec_version: v1.0
1463
+ confidence: |-
1464
+ 0.9
1465
+ exploit_scenario: |-
1466
+ Leaked async resources accumulate and degrade service availability.
1467
+ fix_template: |-
1468
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1469
+ pattern-either:
1470
+ - pattern: |-
1471
+ let conn = pool.get().await?; if bad { return Ok(()); }
1472
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-082\\b'
1473
+ message: |-
1474
+ RunSec Detection [RSX-082]: CWE-772
1475
+ languages:
1476
+ - generic
1477
+ severity: WARNING
1478
+ - id: runsec.rust-security.rsx-083
1479
+ metadata:
1480
+ runsec_version: v1.0
1481
+ confidence: |-
1482
+ 0.9
1483
+ exploit_scenario: |-
1484
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1485
+ fix_template: |-
1486
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1487
+ pattern-either:
1488
+ - pattern: |-
1489
+ let total = price * quantity;
1490
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-083\\b'
1491
+ message: |-
1492
+ RunSec Detection [RSX-083]: CWE-190
1493
+ languages:
1494
+ - generic
1495
+ severity: WARNING
1496
+ - id: runsec.rust-security.rsx-084
1497
+ metadata:
1498
+ runsec_version: v1.0
1499
+ confidence: |-
1500
+ 0.9
1501
+ exploit_scenario: |-
1502
+ Type punning via transmute may break layout assumptions and trigger UB.
1503
+ fix_template: |-
1504
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1505
+ pattern-either:
1506
+ - pattern: |-
1507
+ let out: Target = unsafe { std::mem::transmute(input) };
1508
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-084\\b'
1509
+ message: |-
1510
+ RunSec Detection [RSX-084]: CWE-704
1511
+ languages:
1512
+ - generic
1513
+ severity: WARNING
1514
+ - id: runsec.rust-security.rsx-085
1515
+ metadata:
1516
+ runsec_version: v1.0
1517
+ confidence: |-
1518
+ 0.9
1519
+ exploit_scenario: |-
1520
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1521
+ fix_template: |-
1522
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1523
+ pattern-either:
1524
+ - pattern: |-
1525
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1526
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-085\\b'
1527
+ message: |-
1528
+ RunSec Detection [RSX-085]: CWE-362
1529
+ languages:
1530
+ - generic
1531
+ severity: WARNING
1532
+ - id: runsec.rust-security.rsx-086
1533
+ metadata:
1534
+ runsec_version: v1.0
1535
+ confidence: |-
1536
+ 0.9
1537
+ exploit_scenario: |-
1538
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1539
+ fix_template: |-
1540
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1541
+ pattern-either:
1542
+ - pattern: |-
1543
+ unsafe { *ptr = value; }
1544
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-086\\b'
1545
+ message: |-
1546
+ RunSec Detection [RSX-086]: CWE-119
1547
+ languages:
1548
+ - generic
1549
+ severity: WARNING
1550
+ - id: runsec.rust-security.rsx-087
1551
+ metadata:
1552
+ runsec_version: v1.0
1553
+ confidence: |-
1554
+ 0.9
1555
+ exploit_scenario: |-
1556
+ Leaked async resources accumulate and degrade service availability.
1557
+ fix_template: |-
1558
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1559
+ pattern-either:
1560
+ - pattern: |-
1561
+ let conn = pool.get().await?; if bad { return Ok(()); }
1562
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-087\\b'
1563
+ message: |-
1564
+ RunSec Detection [RSX-087]: CWE-772
1565
+ languages:
1566
+ - generic
1567
+ severity: WARNING
1568
+ - id: runsec.rust-security.rsx-088
1569
+ metadata:
1570
+ runsec_version: v1.0
1571
+ confidence: |-
1572
+ 0.9
1573
+ exploit_scenario: |-
1574
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1575
+ fix_template: |-
1576
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1577
+ pattern-either:
1578
+ - pattern: |-
1579
+ let total = price * quantity;
1580
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-088\\b'
1581
+ message: |-
1582
+ RunSec Detection [RSX-088]: CWE-190
1583
+ languages:
1584
+ - generic
1585
+ severity: WARNING
1586
+ - id: runsec.rust-security.rsx-089
1587
+ metadata:
1588
+ runsec_version: v1.0
1589
+ confidence: |-
1590
+ 0.9
1591
+ exploit_scenario: |-
1592
+ Type punning via transmute may break layout assumptions and trigger UB.
1593
+ fix_template: |-
1594
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1595
+ pattern-either:
1596
+ - pattern: |-
1597
+ let out: Target = unsafe { std::mem::transmute(input) };
1598
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-089\\b'
1599
+ message: |-
1600
+ RunSec Detection [RSX-089]: CWE-704
1601
+ languages:
1602
+ - generic
1603
+ severity: WARNING
1604
+ - id: runsec.rust-security.rsx-090
1605
+ metadata:
1606
+ runsec_version: v1.0
1607
+ confidence: |-
1608
+ 0.9
1609
+ exploit_scenario: |-
1610
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1611
+ fix_template: |-
1612
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1613
+ pattern-either:
1614
+ - pattern: |-
1615
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1616
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-090\\b'
1617
+ message: |-
1618
+ RunSec Detection [RSX-090]: CWE-362
1619
+ languages:
1620
+ - generic
1621
+ severity: WARNING
1622
+ - id: runsec.rust-security.rsx-091
1623
+ metadata:
1624
+ runsec_version: v1.0
1625
+ confidence: |-
1626
+ 0.9
1627
+ exploit_scenario: |-
1628
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1629
+ fix_template: |-
1630
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1631
+ pattern-either:
1632
+ - pattern: |-
1633
+ unsafe { *ptr = value; }
1634
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-091\\b'
1635
+ message: |-
1636
+ RunSec Detection [RSX-091]: CWE-119
1637
+ languages:
1638
+ - generic
1639
+ severity: WARNING
1640
+ - id: runsec.rust-security.rsx-092
1641
+ metadata:
1642
+ runsec_version: v1.0
1643
+ confidence: |-
1644
+ 0.9
1645
+ exploit_scenario: |-
1646
+ Leaked async resources accumulate and degrade service availability.
1647
+ fix_template: |-
1648
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1649
+ pattern-either:
1650
+ - pattern: |-
1651
+ let conn = pool.get().await?; if bad { return Ok(()); }
1652
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-092\\b'
1653
+ message: |-
1654
+ RunSec Detection [RSX-092]: CWE-772
1655
+ languages:
1656
+ - generic
1657
+ severity: WARNING
1658
+ - id: runsec.rust-security.rsx-093
1659
+ metadata:
1660
+ runsec_version: v1.0
1661
+ confidence: |-
1662
+ 0.9
1663
+ exploit_scenario: |-
1664
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1665
+ fix_template: |-
1666
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1667
+ pattern-either:
1668
+ - pattern: |-
1669
+ let total = price * quantity;
1670
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-093\\b'
1671
+ message: |-
1672
+ RunSec Detection [RSX-093]: CWE-190
1673
+ languages:
1674
+ - generic
1675
+ severity: WARNING
1676
+ - id: runsec.rust-security.rsx-094
1677
+ metadata:
1678
+ runsec_version: v1.0
1679
+ confidence: |-
1680
+ 0.9
1681
+ exploit_scenario: |-
1682
+ Type punning via transmute may break layout assumptions and trigger UB.
1683
+ fix_template: |-
1684
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1685
+ pattern-either:
1686
+ - pattern: |-
1687
+ let out: Target = unsafe { std::mem::transmute(input) };
1688
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-094\\b'
1689
+ message: |-
1690
+ RunSec Detection [RSX-094]: CWE-704
1691
+ languages:
1692
+ - generic
1693
+ severity: WARNING
1694
+ - id: runsec.rust-security.rsx-095
1695
+ metadata:
1696
+ runsec_version: v1.0
1697
+ confidence: |-
1698
+ 0.9
1699
+ exploit_scenario: |-
1700
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1701
+ fix_template: |-
1702
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1703
+ pattern-either:
1704
+ - pattern: |-
1705
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1706
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-095\\b'
1707
+ message: |-
1708
+ RunSec Detection [RSX-095]: CWE-362
1709
+ languages:
1710
+ - generic
1711
+ severity: WARNING
1712
+ - id: runsec.rust-security.rsx-096
1713
+ metadata:
1714
+ runsec_version: v1.0
1715
+ confidence: |-
1716
+ 0.9
1717
+ exploit_scenario: |-
1718
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1719
+ fix_template: |-
1720
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1721
+ pattern-either:
1722
+ - pattern: |-
1723
+ unsafe { *ptr = value; }
1724
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-096\\b'
1725
+ message: |-
1726
+ RunSec Detection [RSX-096]: CWE-119
1727
+ languages:
1728
+ - generic
1729
+ severity: WARNING
1730
+ - id: runsec.rust-security.rsx-097
1731
+ metadata:
1732
+ runsec_version: v1.0
1733
+ confidence: |-
1734
+ 0.9
1735
+ exploit_scenario: |-
1736
+ Leaked async resources accumulate and degrade service availability.
1737
+ fix_template: |-
1738
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1739
+ pattern-either:
1740
+ - pattern: |-
1741
+ let conn = pool.get().await?; if bad { return Ok(()); }
1742
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-097\\b'
1743
+ message: |-
1744
+ RunSec Detection [RSX-097]: CWE-772
1745
+ languages:
1746
+ - generic
1747
+ severity: WARNING
1748
+ - id: runsec.rust-security.rsx-098
1749
+ metadata:
1750
+ runsec_version: v1.0
1751
+ confidence: |-
1752
+ 0.9
1753
+ exploit_scenario: |-
1754
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1755
+ fix_template: |-
1756
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1757
+ pattern-either:
1758
+ - pattern: |-
1759
+ let total = price * quantity;
1760
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-098\\b'
1761
+ message: |-
1762
+ RunSec Detection [RSX-098]: CWE-190
1763
+ languages:
1764
+ - generic
1765
+ severity: WARNING
1766
+ - id: runsec.rust-security.rsx-099
1767
+ metadata:
1768
+ runsec_version: v1.0
1769
+ confidence: |-
1770
+ 0.9
1771
+ exploit_scenario: |-
1772
+ Type punning via transmute may break layout assumptions and trigger UB.
1773
+ fix_template: |-
1774
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1775
+ pattern-either:
1776
+ - pattern: |-
1777
+ let out: Target = unsafe { std::mem::transmute(input) };
1778
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-099\\b'
1779
+ message: |-
1780
+ RunSec Detection [RSX-099]: CWE-704
1781
+ languages:
1782
+ - generic
1783
+ severity: WARNING
1784
+ - id: runsec.rust-security.rsx-100
1785
+ metadata:
1786
+ runsec_version: v1.0
1787
+ confidence: |-
1788
+ 0.9
1789
+ exploit_scenario: |-
1790
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1791
+ fix_template: |-
1792
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1793
+ pattern-either:
1794
+ - pattern: |-
1795
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1796
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-100\\b'
1797
+ message: |-
1798
+ RunSec Detection [RSX-100]: CWE-362
1799
+ languages:
1800
+ - generic
1801
+ severity: WARNING
1802
+ - id: runsec.rust-security.rsx-101
1803
+ metadata:
1804
+ runsec_version: v1.0
1805
+ confidence: |-
1806
+ 0.9
1807
+ exploit_scenario: |-
1808
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1809
+ fix_template: |-
1810
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1811
+ pattern-either:
1812
+ - pattern: |-
1813
+ unsafe { *ptr = value; }
1814
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-101\\b'
1815
+ message: |-
1816
+ RunSec Detection [RSX-101]: CWE-119
1817
+ languages:
1818
+ - generic
1819
+ severity: WARNING
1820
+ - id: runsec.rust-security.rsx-102
1821
+ metadata:
1822
+ runsec_version: v1.0
1823
+ confidence: |-
1824
+ 0.9
1825
+ exploit_scenario: |-
1826
+ Leaked async resources accumulate and degrade service availability.
1827
+ fix_template: |-
1828
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1829
+ pattern-either:
1830
+ - pattern: |-
1831
+ let conn = pool.get().await?; if bad { return Ok(()); }
1832
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-102\\b'
1833
+ message: |-
1834
+ RunSec Detection [RSX-102]: CWE-772
1835
+ languages:
1836
+ - generic
1837
+ severity: WARNING
1838
+ - id: runsec.rust-security.rsx-103
1839
+ metadata:
1840
+ runsec_version: v1.0
1841
+ confidence: |-
1842
+ 0.9
1843
+ exploit_scenario: |-
1844
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1845
+ fix_template: |-
1846
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1847
+ pattern-either:
1848
+ - pattern: |-
1849
+ let total = price * quantity;
1850
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-103\\b'
1851
+ message: |-
1852
+ RunSec Detection [RSX-103]: CWE-190
1853
+ languages:
1854
+ - generic
1855
+ severity: WARNING
1856
+ - id: runsec.rust-security.rsx-104
1857
+ metadata:
1858
+ runsec_version: v1.0
1859
+ confidence: |-
1860
+ 0.9
1861
+ exploit_scenario: |-
1862
+ Type punning via transmute may break layout assumptions and trigger UB.
1863
+ fix_template: |-
1864
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1865
+ pattern-either:
1866
+ - pattern: |-
1867
+ let out: Target = unsafe { std::mem::transmute(input) };
1868
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-104\\b'
1869
+ message: |-
1870
+ RunSec Detection [RSX-104]: CWE-704
1871
+ languages:
1872
+ - generic
1873
+ severity: WARNING
1874
+ - id: runsec.rust-security.rsx-105
1875
+ metadata:
1876
+ runsec_version: v1.0
1877
+ confidence: |-
1878
+ 0.9
1879
+ exploit_scenario: |-
1880
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1881
+ fix_template: |-
1882
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1883
+ pattern-either:
1884
+ - pattern: |-
1885
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1886
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-105\\b'
1887
+ message: |-
1888
+ RunSec Detection [RSX-105]: CWE-362
1889
+ languages:
1890
+ - generic
1891
+ severity: WARNING
1892
+ - id: runsec.rust-security.rsx-106
1893
+ metadata:
1894
+ runsec_version: v1.0
1895
+ confidence: |-
1896
+ 0.9
1897
+ exploit_scenario: |-
1898
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1899
+ fix_template: |-
1900
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1901
+ pattern-either:
1902
+ - pattern: |-
1903
+ unsafe { *ptr = value; }
1904
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-106\\b'
1905
+ message: |-
1906
+ RunSec Detection [RSX-106]: CWE-119
1907
+ languages:
1908
+ - generic
1909
+ severity: WARNING
1910
+ - id: runsec.rust-security.rsx-107
1911
+ metadata:
1912
+ runsec_version: v1.0
1913
+ confidence: |-
1914
+ 0.9
1915
+ exploit_scenario: |-
1916
+ Leaked async resources accumulate and degrade service availability.
1917
+ fix_template: |-
1918
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1919
+ pattern-either:
1920
+ - pattern: |-
1921
+ let conn = pool.get().await?; if bad { return Ok(()); }
1922
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-107\\b'
1923
+ message: |-
1924
+ RunSec Detection [RSX-107]: CWE-772
1925
+ languages:
1926
+ - generic
1927
+ severity: WARNING
1928
+ - id: runsec.rust-security.rsx-108
1929
+ metadata:
1930
+ runsec_version: v1.0
1931
+ confidence: |-
1932
+ 0.9
1933
+ exploit_scenario: |-
1934
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
1935
+ fix_template: |-
1936
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1937
+ pattern-either:
1938
+ - pattern: |-
1939
+ let total = price * quantity;
1940
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-108\\b'
1941
+ message: |-
1942
+ RunSec Detection [RSX-108]: CWE-190
1943
+ languages:
1944
+ - generic
1945
+ severity: WARNING
1946
+ - id: runsec.rust-security.rsx-109
1947
+ metadata:
1948
+ runsec_version: v1.0
1949
+ confidence: |-
1950
+ 0.9
1951
+ exploit_scenario: |-
1952
+ Type punning via transmute may break layout assumptions and trigger UB.
1953
+ fix_template: |-
1954
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1955
+ pattern-either:
1956
+ - pattern: |-
1957
+ let out: Target = unsafe { std::mem::transmute(input) };
1958
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-109\\b'
1959
+ message: |-
1960
+ RunSec Detection [RSX-109]: CWE-704
1961
+ languages:
1962
+ - generic
1963
+ severity: WARNING
1964
+ - id: runsec.rust-security.rsx-110
1965
+ metadata:
1966
+ runsec_version: v1.0
1967
+ confidence: |-
1968
+ 0.9
1969
+ exploit_scenario: |-
1970
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
1971
+ fix_template: |-
1972
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1973
+ pattern-either:
1974
+ - pattern: |-
1975
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
1976
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-110\\b'
1977
+ message: |-
1978
+ RunSec Detection [RSX-110]: CWE-362
1979
+ languages:
1980
+ - generic
1981
+ severity: WARNING
1982
+ - id: runsec.rust-security.rsx-111
1983
+ metadata:
1984
+ runsec_version: v1.0
1985
+ confidence: |-
1986
+ 0.9
1987
+ exploit_scenario: |-
1988
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
1989
+ fix_template: |-
1990
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
1991
+ pattern-either:
1992
+ - pattern: |-
1993
+ unsafe { *ptr = value; }
1994
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-111\\b'
1995
+ message: |-
1996
+ RunSec Detection [RSX-111]: CWE-119
1997
+ languages:
1998
+ - generic
1999
+ severity: WARNING
2000
+ - id: runsec.rust-security.rsx-112
2001
+ metadata:
2002
+ runsec_version: v1.0
2003
+ confidence: |-
2004
+ 0.9
2005
+ exploit_scenario: |-
2006
+ Leaked async resources accumulate and degrade service availability.
2007
+ fix_template: |-
2008
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2009
+ pattern-either:
2010
+ - pattern: |-
2011
+ let conn = pool.get().await?; if bad { return Ok(()); }
2012
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-112\\b'
2013
+ message: |-
2014
+ RunSec Detection [RSX-112]: CWE-772
2015
+ languages:
2016
+ - generic
2017
+ severity: WARNING
2018
+ - id: runsec.rust-security.rsx-113
2019
+ metadata:
2020
+ runsec_version: v1.0
2021
+ confidence: |-
2022
+ 0.9
2023
+ exploit_scenario: |-
2024
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
2025
+ fix_template: |-
2026
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2027
+ pattern-either:
2028
+ - pattern: |-
2029
+ let total = price * quantity;
2030
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-113\\b'
2031
+ message: |-
2032
+ RunSec Detection [RSX-113]: CWE-190
2033
+ languages:
2034
+ - generic
2035
+ severity: WARNING
2036
+ - id: runsec.rust-security.rsx-114
2037
+ metadata:
2038
+ runsec_version: v1.0
2039
+ confidence: |-
2040
+ 0.9
2041
+ exploit_scenario: |-
2042
+ Type punning via transmute may break layout assumptions and trigger UB.
2043
+ fix_template: |-
2044
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2045
+ pattern-either:
2046
+ - pattern: |-
2047
+ let out: Target = unsafe { std::mem::transmute(input) };
2048
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-114\\b'
2049
+ message: |-
2050
+ RunSec Detection [RSX-114]: CWE-704
2051
+ languages:
2052
+ - generic
2053
+ severity: WARNING
2054
+ - id: runsec.rust-security.rsx-115
2055
+ metadata:
2056
+ runsec_version: v1.0
2057
+ confidence: |-
2058
+ 0.9
2059
+ exploit_scenario: |-
2060
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
2061
+ fix_template: |-
2062
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2063
+ pattern-either:
2064
+ - pattern: |-
2065
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
2066
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-115\\b'
2067
+ message: |-
2068
+ RunSec Detection [RSX-115]: CWE-362
2069
+ languages:
2070
+ - generic
2071
+ severity: WARNING
2072
+ - id: runsec.rust-security.rsx-116
2073
+ metadata:
2074
+ runsec_version: v1.0
2075
+ confidence: |-
2076
+ 0.9
2077
+ exploit_scenario: |-
2078
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
2079
+ fix_template: |-
2080
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2081
+ pattern-either:
2082
+ - pattern: |-
2083
+ unsafe { *ptr = value; }
2084
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-116\\b'
2085
+ message: |-
2086
+ RunSec Detection [RSX-116]: CWE-119
2087
+ languages:
2088
+ - generic
2089
+ severity: WARNING
2090
+ - id: runsec.rust-security.rsx-117
2091
+ metadata:
2092
+ runsec_version: v1.0
2093
+ confidence: |-
2094
+ 0.9
2095
+ exploit_scenario: |-
2096
+ Leaked async resources accumulate and degrade service availability.
2097
+ fix_template: |-
2098
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2099
+ pattern-either:
2100
+ - pattern: |-
2101
+ let conn = pool.get().await?; if bad { return Ok(()); }
2102
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-117\\b'
2103
+ message: |-
2104
+ RunSec Detection [RSX-117]: CWE-772
2105
+ languages:
2106
+ - generic
2107
+ severity: WARNING
2108
+ - id: runsec.rust-security.rsx-118
2109
+ metadata:
2110
+ runsec_version: v1.0
2111
+ confidence: |-
2112
+ 0.9
2113
+ exploit_scenario: |-
2114
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
2115
+ fix_template: |-
2116
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2117
+ pattern-either:
2118
+ - pattern: |-
2119
+ let total = price * quantity;
2120
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-118\\b'
2121
+ message: |-
2122
+ RunSec Detection [RSX-118]: CWE-190
2123
+ languages:
2124
+ - generic
2125
+ severity: WARNING
2126
+ - id: runsec.rust-security.rsx-119
2127
+ metadata:
2128
+ runsec_version: v1.0
2129
+ confidence: |-
2130
+ 0.9
2131
+ exploit_scenario: |-
2132
+ Type punning via transmute may break layout assumptions and trigger UB.
2133
+ fix_template: |-
2134
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2135
+ pattern-either:
2136
+ - pattern: |-
2137
+ let out: Target = unsafe { std::mem::transmute(input) };
2138
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-119\\b'
2139
+ message: |-
2140
+ RunSec Detection [RSX-119]: CWE-704
2141
+ languages:
2142
+ - generic
2143
+ severity: WARNING
2144
+ - id: runsec.rust-security.rsx-120
2145
+ metadata:
2146
+ runsec_version: v1.0
2147
+ confidence: |-
2148
+ 0.9
2149
+ exploit_scenario: |-
2150
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
2151
+ fix_template: |-
2152
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2153
+ pattern-either:
2154
+ - pattern: |-
2155
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
2156
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-120\\b'
2157
+ message: |-
2158
+ RunSec Detection [RSX-120]: CWE-362
2159
+ languages:
2160
+ - generic
2161
+ severity: WARNING
2162
+ - id: runsec.rust-security.rsx-121
2163
+ metadata:
2164
+ runsec_version: v1.0
2165
+ confidence: |-
2166
+ 0.9
2167
+ exploit_scenario: |-
2168
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
2169
+ fix_template: |-
2170
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2171
+ pattern-either:
2172
+ - pattern: |-
2173
+ unsafe { *ptr = value; }
2174
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-121\\b'
2175
+ message: |-
2176
+ RunSec Detection [RSX-121]: CWE-119
2177
+ languages:
2178
+ - generic
2179
+ severity: WARNING
2180
+ - id: runsec.rust-security.rsx-122
2181
+ metadata:
2182
+ runsec_version: v1.0
2183
+ confidence: |-
2184
+ 0.9
2185
+ exploit_scenario: |-
2186
+ Leaked async resources accumulate and degrade service availability.
2187
+ fix_template: |-
2188
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2189
+ pattern-either:
2190
+ - pattern: |-
2191
+ let conn = pool.get().await?; if bad { return Ok(()); }
2192
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-122\\b'
2193
+ message: |-
2194
+ RunSec Detection [RSX-122]: CWE-772
2195
+ languages:
2196
+ - generic
2197
+ severity: WARNING
2198
+ - id: runsec.rust-security.rsx-123
2199
+ metadata:
2200
+ runsec_version: v1.0
2201
+ confidence: |-
2202
+ 0.9
2203
+ exploit_scenario: |-
2204
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
2205
+ fix_template: |-
2206
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2207
+ pattern-either:
2208
+ - pattern: |-
2209
+ let total = price * quantity;
2210
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-123\\b'
2211
+ message: |-
2212
+ RunSec Detection [RSX-123]: CWE-190
2213
+ languages:
2214
+ - generic
2215
+ severity: WARNING
2216
+ - id: runsec.rust-security.rsx-124
2217
+ metadata:
2218
+ runsec_version: v1.0
2219
+ confidence: |-
2220
+ 0.9
2221
+ exploit_scenario: |-
2222
+ Type punning via transmute may break layout assumptions and trigger UB.
2223
+ fix_template: |-
2224
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2225
+ pattern-either:
2226
+ - pattern: |-
2227
+ let out: Target = unsafe { std::mem::transmute(input) };
2228
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-124\\b'
2229
+ message: |-
2230
+ RunSec Detection [RSX-124]: CWE-704
2231
+ languages:
2232
+ - generic
2233
+ severity: WARNING
2234
+ - id: runsec.rust-security.rsx-125
2235
+ metadata:
2236
+ runsec_version: v1.0
2237
+ confidence: |-
2238
+ 0.9
2239
+ exploit_scenario: |-
2240
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
2241
+ fix_template: |-
2242
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2243
+ pattern-either:
2244
+ - pattern: |-
2245
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
2246
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-125\\b'
2247
+ message: |-
2248
+ RunSec Detection [RSX-125]: CWE-362
2249
+ languages:
2250
+ - generic
2251
+ severity: WARNING
2252
+ - id: runsec.rust-security.rsx-126
2253
+ metadata:
2254
+ runsec_version: v1.0
2255
+ confidence: |-
2256
+ 0.9
2257
+ exploit_scenario: |-
2258
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
2259
+ fix_template: |-
2260
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2261
+ pattern-either:
2262
+ - pattern: |-
2263
+ unsafe { *ptr = value; }
2264
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-126\\b'
2265
+ message: |-
2266
+ RunSec Detection [RSX-126]: CWE-119
2267
+ languages:
2268
+ - generic
2269
+ severity: WARNING
2270
+ - id: runsec.rust-security.rsx-127
2271
+ metadata:
2272
+ runsec_version: v1.0
2273
+ confidence: |-
2274
+ 0.9
2275
+ exploit_scenario: |-
2276
+ Leaked async resources accumulate and degrade service availability.
2277
+ fix_template: |-
2278
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2279
+ pattern-either:
2280
+ - pattern: |-
2281
+ let conn = pool.get().await?; if bad { return Ok(()); }
2282
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-127\\b'
2283
+ message: |-
2284
+ RunSec Detection [RSX-127]: CWE-772
2285
+ languages:
2286
+ - generic
2287
+ severity: WARNING
2288
+ - id: runsec.rust-security.rsx-128
2289
+ metadata:
2290
+ runsec_version: v1.0
2291
+ confidence: |-
2292
+ 0.9
2293
+ exploit_scenario: |-
2294
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
2295
+ fix_template: |-
2296
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2297
+ pattern-either:
2298
+ - pattern: |-
2299
+ let total = price * quantity;
2300
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-128\\b'
2301
+ message: |-
2302
+ RunSec Detection [RSX-128]: CWE-190
2303
+ languages:
2304
+ - generic
2305
+ severity: WARNING
2306
+ - id: runsec.rust-security.rsx-129
2307
+ metadata:
2308
+ runsec_version: v1.0
2309
+ confidence: |-
2310
+ 0.9
2311
+ exploit_scenario: |-
2312
+ Type punning via transmute may break layout assumptions and trigger UB.
2313
+ fix_template: |-
2314
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2315
+ pattern-either:
2316
+ - pattern: |-
2317
+ let out: Target = unsafe { std::mem::transmute(input) };
2318
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-129\\b'
2319
+ message: |-
2320
+ RunSec Detection [RSX-129]: CWE-704
2321
+ languages:
2322
+ - generic
2323
+ severity: WARNING
2324
+ - id: runsec.rust-security.rsx-130
2325
+ metadata:
2326
+ runsec_version: v1.0
2327
+ confidence: |-
2328
+ 0.9
2329
+ exploit_scenario: |-
2330
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
2331
+ fix_template: |-
2332
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2333
+ pattern-either:
2334
+ - pattern: |-
2335
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
2336
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-130\\b'
2337
+ message: |-
2338
+ RunSec Detection [RSX-130]: CWE-362
2339
+ languages:
2340
+ - generic
2341
+ severity: WARNING
2342
+ - id: runsec.rust-security.rsx-131
2343
+ metadata:
2344
+ runsec_version: v1.0
2345
+ confidence: |-
2346
+ 0.9
2347
+ exploit_scenario: |-
2348
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
2349
+ fix_template: |-
2350
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2351
+ pattern-either:
2352
+ - pattern: |-
2353
+ unsafe { *ptr = value; }
2354
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-131\\b'
2355
+ message: |-
2356
+ RunSec Detection [RSX-131]: CWE-119
2357
+ languages:
2358
+ - generic
2359
+ severity: WARNING
2360
+ - id: runsec.rust-security.rsx-132
2361
+ metadata:
2362
+ runsec_version: v1.0
2363
+ confidence: |-
2364
+ 0.9
2365
+ exploit_scenario: |-
2366
+ Leaked async resources accumulate and degrade service availability.
2367
+ fix_template: |-
2368
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2369
+ pattern-either:
2370
+ - pattern: |-
2371
+ let conn = pool.get().await?; if bad { return Ok(()); }
2372
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-132\\b'
2373
+ message: |-
2374
+ RunSec Detection [RSX-132]: CWE-772
2375
+ languages:
2376
+ - generic
2377
+ severity: WARNING
2378
+ - id: runsec.rust-security.rsx-133
2379
+ metadata:
2380
+ runsec_version: v1.0
2381
+ confidence: |-
2382
+ 0.9
2383
+ exploit_scenario: |-
2384
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
2385
+ fix_template: |-
2386
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2387
+ pattern-either:
2388
+ - pattern: |-
2389
+ let total = price * quantity;
2390
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-133\\b'
2391
+ message: |-
2392
+ RunSec Detection [RSX-133]: CWE-190
2393
+ languages:
2394
+ - generic
2395
+ severity: WARNING
2396
+ - id: runsec.rust-security.rsx-134
2397
+ metadata:
2398
+ runsec_version: v1.0
2399
+ confidence: |-
2400
+ 0.9
2401
+ exploit_scenario: |-
2402
+ Type punning via transmute may break layout assumptions and trigger UB.
2403
+ fix_template: |-
2404
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2405
+ pattern-either:
2406
+ - pattern: |-
2407
+ let out: Target = unsafe { std::mem::transmute(input) };
2408
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-134\\b'
2409
+ message: |-
2410
+ RunSec Detection [RSX-134]: CWE-704
2411
+ languages:
2412
+ - generic
2413
+ severity: WARNING
2414
+ - id: runsec.rust-security.rsx-135
2415
+ metadata:
2416
+ runsec_version: v1.0
2417
+ confidence: |-
2418
+ 0.9
2419
+ exploit_scenario: |-
2420
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
2421
+ fix_template: |-
2422
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2423
+ pattern-either:
2424
+ - pattern: |-
2425
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
2426
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-135\\b'
2427
+ message: |-
2428
+ RunSec Detection [RSX-135]: CWE-362
2429
+ languages:
2430
+ - generic
2431
+ severity: WARNING
2432
+ - id: runsec.rust-security.rsx-136
2433
+ metadata:
2434
+ runsec_version: v1.0
2435
+ confidence: |-
2436
+ 0.9
2437
+ exploit_scenario: |-
2438
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
2439
+ fix_template: |-
2440
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2441
+ pattern-either:
2442
+ - pattern: |-
2443
+ unsafe { *ptr = value; }
2444
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-136\\b'
2445
+ message: |-
2446
+ RunSec Detection [RSX-136]: CWE-119
2447
+ languages:
2448
+ - generic
2449
+ severity: WARNING
2450
+ - id: runsec.rust-security.rsx-137
2451
+ metadata:
2452
+ runsec_version: v1.0
2453
+ confidence: |-
2454
+ 0.9
2455
+ exploit_scenario: |-
2456
+ Leaked async resources accumulate and degrade service availability.
2457
+ fix_template: |-
2458
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2459
+ pattern-either:
2460
+ - pattern: |-
2461
+ let conn = pool.get().await?; if bad { return Ok(()); }
2462
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-137\\b'
2463
+ message: |-
2464
+ RunSec Detection [RSX-137]: CWE-772
2465
+ languages:
2466
+ - generic
2467
+ severity: WARNING
2468
+ - id: runsec.rust-security.rsx-138
2469
+ metadata:
2470
+ runsec_version: v1.0
2471
+ confidence: |-
2472
+ 0.9
2473
+ exploit_scenario: |-
2474
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
2475
+ fix_template: |-
2476
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2477
+ pattern-either:
2478
+ - pattern: |-
2479
+ let total = price * quantity;
2480
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-138\\b'
2481
+ message: |-
2482
+ RunSec Detection [RSX-138]: CWE-190
2483
+ languages:
2484
+ - generic
2485
+ severity: WARNING
2486
+ - id: runsec.rust-security.rsx-139
2487
+ metadata:
2488
+ runsec_version: v1.0
2489
+ confidence: |-
2490
+ 0.9
2491
+ exploit_scenario: |-
2492
+ Type punning via transmute may break layout assumptions and trigger UB.
2493
+ fix_template: |-
2494
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2495
+ pattern-either:
2496
+ - pattern: |-
2497
+ let out: Target = unsafe { std::mem::transmute(input) };
2498
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-139\\b'
2499
+ message: |-
2500
+ RunSec Detection [RSX-139]: CWE-704
2501
+ languages:
2502
+ - generic
2503
+ severity: WARNING
2504
+ - id: runsec.rust-security.rsx-140
2505
+ metadata:
2506
+ runsec_version: v1.0
2507
+ confidence: |-
2508
+ 0.9
2509
+ exploit_scenario: |-
2510
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
2511
+ fix_template: |-
2512
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2513
+ pattern-either:
2514
+ - pattern: |-
2515
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
2516
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-140\\b'
2517
+ message: |-
2518
+ RunSec Detection [RSX-140]: CWE-362
2519
+ languages:
2520
+ - generic
2521
+ severity: WARNING
2522
+ - id: runsec.rust-security.rsx-141
2523
+ metadata:
2524
+ runsec_version: v1.0
2525
+ confidence: |-
2526
+ 0.9
2527
+ exploit_scenario: |-
2528
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
2529
+ fix_template: |-
2530
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2531
+ pattern-either:
2532
+ - pattern: |-
2533
+ unsafe { *ptr = value; }
2534
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-141\\b'
2535
+ message: |-
2536
+ RunSec Detection [RSX-141]: CWE-119
2537
+ languages:
2538
+ - generic
2539
+ severity: WARNING
2540
+ - id: runsec.rust-security.rsx-142
2541
+ metadata:
2542
+ runsec_version: v1.0
2543
+ confidence: |-
2544
+ 0.9
2545
+ exploit_scenario: |-
2546
+ Leaked async resources accumulate and degrade service availability.
2547
+ fix_template: |-
2548
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2549
+ pattern-either:
2550
+ - pattern: |-
2551
+ let conn = pool.get().await?; if bad { return Ok(()); }
2552
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-142\\b'
2553
+ message: |-
2554
+ RunSec Detection [RSX-142]: CWE-772
2555
+ languages:
2556
+ - generic
2557
+ severity: WARNING
2558
+ - id: runsec.rust-security.rsx-143
2559
+ metadata:
2560
+ runsec_version: v1.0
2561
+ confidence: |-
2562
+ 0.9
2563
+ exploit_scenario: |-
2564
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
2565
+ fix_template: |-
2566
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2567
+ pattern-either:
2568
+ - pattern: |-
2569
+ let total = price * quantity;
2570
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-143\\b'
2571
+ message: |-
2572
+ RunSec Detection [RSX-143]: CWE-190
2573
+ languages:
2574
+ - generic
2575
+ severity: WARNING
2576
+ - id: runsec.rust-security.rsx-144
2577
+ metadata:
2578
+ runsec_version: v1.0
2579
+ confidence: |-
2580
+ 0.9
2581
+ exploit_scenario: |-
2582
+ Type punning via transmute may break layout assumptions and trigger UB.
2583
+ fix_template: |-
2584
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2585
+ pattern-either:
2586
+ - pattern: |-
2587
+ let out: Target = unsafe { std::mem::transmute(input) };
2588
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-144\\b'
2589
+ message: |-
2590
+ RunSec Detection [RSX-144]: CWE-704
2591
+ languages:
2592
+ - generic
2593
+ severity: WARNING
2594
+ - id: runsec.rust-security.rsx-145
2595
+ metadata:
2596
+ runsec_version: v1.0
2597
+ confidence: |-
2598
+ 0.9
2599
+ exploit_scenario: |-
2600
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
2601
+ fix_template: |-
2602
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2603
+ pattern-either:
2604
+ - pattern: |-
2605
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
2606
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-145\\b'
2607
+ message: |-
2608
+ RunSec Detection [RSX-145]: CWE-362
2609
+ languages:
2610
+ - generic
2611
+ severity: WARNING
2612
+ - id: runsec.rust-security.rsx-146
2613
+ metadata:
2614
+ runsec_version: v1.0
2615
+ confidence: |-
2616
+ 0.9
2617
+ exploit_scenario: |-
2618
+ Unchecked unsafe pointer access can cause undefined behavior and memory corruption.
2619
+ fix_template: |-
2620
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2621
+ pattern-either:
2622
+ - pattern: |-
2623
+ unsafe { *ptr = value; }
2624
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-146\\b'
2625
+ message: |-
2626
+ RunSec Detection [RSX-146]: CWE-119
2627
+ languages:
2628
+ - generic
2629
+ severity: WARNING
2630
+ - id: runsec.rust-security.rsx-147
2631
+ metadata:
2632
+ runsec_version: v1.0
2633
+ confidence: |-
2634
+ 0.9
2635
+ exploit_scenario: |-
2636
+ Leaked async resources accumulate and degrade service availability.
2637
+ fix_template: |-
2638
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2639
+ pattern-either:
2640
+ - pattern: |-
2641
+ let conn = pool.get().await?; if bad { return Ok(()); }
2642
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-147\\b'
2643
+ message: |-
2644
+ RunSec Detection [RSX-147]: CWE-772
2645
+ languages:
2646
+ - generic
2647
+ severity: WARNING
2648
+ - id: runsec.rust-security.rsx-148
2649
+ metadata:
2650
+ runsec_version: v1.0
2651
+ confidence: |-
2652
+ 0.9
2653
+ exploit_scenario: |-
2654
+ Unchecked arithmetic overflows can break business logic and risk funds integrity.
2655
+ fix_template: |-
2656
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2657
+ pattern-either:
2658
+ - pattern: |-
2659
+ let total = price * quantity;
2660
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-148\\b'
2661
+ message: |-
2662
+ RunSec Detection [RSX-148]: CWE-190
2663
+ languages:
2664
+ - generic
2665
+ severity: WARNING
2666
+ - id: runsec.rust-security.rsx-149
2667
+ metadata:
2668
+ runsec_version: v1.0
2669
+ confidence: |-
2670
+ 0.9
2671
+ exploit_scenario: |-
2672
+ Type punning via transmute may break layout assumptions and trigger UB.
2673
+ fix_template: |-
2674
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2675
+ pattern-either:
2676
+ - pattern: |-
2677
+ let out: Target = unsafe { std::mem::transmute(input) };
2678
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-149\\b'
2679
+ message: |-
2680
+ RunSec Detection [RSX-149]: CWE-704
2681
+ languages:
2682
+ - generic
2683
+ severity: WARNING
2684
+ - id: runsec.rust-security.rsx-150
2685
+ metadata:
2686
+ runsec_version: v1.0
2687
+ confidence: |-
2688
+ 0.9
2689
+ exploit_scenario: |-
2690
+ Unsynchronized mutable state causes races and nondeterministic state corruption.
2691
+ fix_template: |-
2692
+ Autofix: replace unsafe math/memory/state operations with checked and synchronized primitives.
2693
+ pattern-either:
2694
+ - pattern: |-
2695
+ static mut COUNTER: u64 = 0; unsafe { COUNTER += 1; }
2696
+ - pattern-regex: 'Vulnerable:\\s*RSX\\-150\\b'
2697
+ message: |-
2698
+ RunSec Detection [RSX-150]: CWE-362
2699
+ languages:
2700
+ - generic
2701
+ severity: WARNING