CVE-2026-87008

    Dashboard / Vulnerabilities / CVE-2026-87008

    CVE-2026-87008

    Published: 5 Nov 2026Last Modified: 7 Nov 2026

    Summary: Code Graph RAG structural tools follow out-of-root symlinks

    Details: Code Graph RAG is an AI-powered knowledge graph and retrieval system for querying, understanding, and editing multi-language codebases. Prior to 0.0.589, AstGrepService in codebase_rag/tools/ast_grep_service.py enumerates files beneath project_root and relies on should_skip_path in codebase_rag/utils/path_utils.py to classify them, but the containment check operates on unresolved lexical paths. A symbolic link planted inside an analyzed repository can therefore reference a file outside the configured root while still appearing in scope. The structural_search tool follows the link and discloses readable content without an approval gate, while structural_replace with dry_run=False follows it and overwrites writable content; the MCP path invokes structural replacement without the agent-loop approval control. An attacker who causes a victim to analyze a repository containing such a link can read credentials, keys, environment files, or sibling source and can modify files accessible to the code-graph-rag process. This issue is fixed in version 0.0.589.

    Affected packages

    Package

    Name:

    Purl:

    Affected ranges

    Type: GIT

    Events:

    Affected versions

    v0.0.588
    v0.0.587
    v0.0.586
    v0.0.585
    v0.0.584
    v0.0.583
    v0.0.582
    v0.0.581
    v0.0.580
    v0.0.579
    v0.0.578
    v0.0.577
    v0.0.576
    v0.0.575
    v0.0.574
    v0.0.573
    v0.0.572
    v0.0.571
    v0.0.570
    v0.0.569
    v0.0.568
    v0.0.567
    v0.0.566
    v0.0.565
    v0.0.564
    v0.0.563
    v0.0.562
    v0.0.561
    v0.0.560
    v0.0.559
    v0.0.558
    v0.0.557
    v0.0.556
    v0.0.555
    v0.0.554
    v0.0.553
    v0.0.552
    v0.0.551
    v0.0.550
    v0.0.549
    v0.0.548
    v0.0.547
    v0.0.546
    v0.0.545
    v0.0.544
    v0.0.543
    v0.0.542
    v0.0.541
    v0.0.540
    v0.0.539
    v0.0.538
    v0.0.537
    v0.0.536
    v0.0.535
    v0.0.534
    v0.0.533
    v0.0.532
    v0.0.531
    v0.0.530
    v0.0.529
    v0.0.528
    v0.0.527
    v0.0.526
    v0.0.525
    v0.0.524
    v0.0.523
    v0.0.522
    v0.0.521
    v0.0.520
    v0.0.519
    v0.0.518
    v0.0.517
    v0.0.516
    v0.0.515
    v0.0.514
    v0.0.513
    v0.0.512
    v0.0.511
    v0.0.510
    v0.0.509
    v0.0.508
    v0.0.507
    v0.0.506
    v0.0.505
    v0.0.504
    v0.0.503
    v0.0.502
    v0.0.501
    v0.0.500
    v0.0.499
    v0.0.498
    v0.0.497
    v0.0.496
    v0.0.495
    v0.0.494
    v0.0.493
    v0.0.492
    v0.0.491
    v0.0.490
    v0.0.489
    v0.0.488
    v0.0.487
    v0.0.486
    v0.0.485
    v0.0.484
    v0.0.483
    v0.0.482
    v0.0.481
    v0.0.480
    v0.0.479
    v0.0.478
    v0.0.477
    v0.0.476
    v0.0.475
    v0.0.474
    v0.0.473
    v0.0.472
    v0.0.471
    v0.0.470
    v0.0.469
    v0.0.468
    v0.0.467
    v0.0.466
    v0.0.465
    v0.0.464
    v0.0.463
    v0.0.462
    v0.0.461
    v0.0.460
    v0.0.459
    v0.0.458
    v0.0.457
    v0.0.456
    v0.0.455
    v0.0.454
    v0.0.453
    v0.0.452
    v0.0.451
    v0.0.450
    v0.0.449
    v0.0.448
    v0.0.447
    v0.0.446
    v0.0.445
    v0.0.444
    v0.0.443
    v0.0.442
    v0.0.441
    v0.0.440
    v0.0.439
    v0.0.438
    v0.0.437
    v0.0.436
    v0.0.435
    v0.0.434
    v0.0.433
    v0.0.432
    v0.0.431
    v0.0.430
    v0.0.429
    v0.0.428
    v0.0.427
    v0.0.426
    v0.0.425
    v0.0.424
    v0.0.423
    v0.0.422
    v0.0.421
    v0.0.420
    v0.0.419
    v0.0.418
    v0.0.417
    v0.0.416
    v0.0.415
    v0.0.414
    v0.0.413
    v0.0.412
    v0.0.411
    v0.0.410
    v0.0.409
    v0.0.408
    v0.0.407
    v0.0.406
    v0.0.405
    v0.0.404
    v0.0.403
    v0.0.402
    v0.0.401
    v0.0.400
    v0.0.399
    v0.0.398
    v0.0.397
    v0.0.396
    v0.0.395
    v0.0.394
    v0.0.393
    v0.0.392
    v0.0.391
    v0.0.390
    v0.0.389
    v0.0.388
    v0.0.387
    v0.0.386
    v0.0.385
    v0.0.384
    v0.0.383
    v0.0.382
    v0.0.381
    v0.0.380
    v0.0.379
    v0.0.378
    v0.0.377
    v0.0.376
    v0.0.375
    v0.0.373
    v0.0.374
    v0.0.372
    v0.0.371
    v0.0.370
    v0.0.369
    v0.0.368
    v0.0.367
    v0.0.366
    v0.0.365
    v0.0.364
    v0.0.363
    v0.0.362
    v0.0.361
    v0.0.360
    v0.0.359
    v0.0.358
    v0.0.357
    v0.0.356
    v0.0.355
    v0.0.354
    v0.0.353
    v0.0.352
    v0.0.351
    v0.0.350
    v0.0.349
    v0.0.348
    v0.0.347
    v0.0.346
    v0.0.345
    v0.0.344
    v0.0.343
    v0.0.342
    v0.0.341
    v0.0.340
    v0.0.339
    v0.0.338
    v0.0.337
    v0.0.336
    v0.0.335
    v0.0.334
    v0.0.333
    v0.0.332
    v0.0.331
    v0.0.330
    v0.0.329
    v0.0.328
    v0.0.327
    v0.0.326
    v0.0.325
    v0.0.324
    v0.0.323
    v0.0.322
    v0.0.321
    v0.0.320
    v0.0.319
    v0.0.318
    v0.0.316
    v0.0.317
    v0.0.315
    v0.0.314
    v0.0.313
    v0.0.312
    v0.0.310
    v0.0.311
    v0.0.309
    v0.0.308
    v0.0.307
    v0.0.305
    v0.0.306
    v0.0.304
    v0.0.303
    v0.0.302
    v0.0.301
    v0.0.300
    v0.0.299
    v0.0.298
    v0.0.297
    v0.0.296
    v0.0.295
    v0.0.294
    v0.0.293
    v0.0.292
    v0.0.291
    v0.0.290
    v0.0.289
    v0.0.288
    v0.0.287
    v0.0.286
    v0.0.285
    v0.0.284
    v0.0.283
    v0.0.282
    v0.0.281
    v0.0.280
    v0.0.279
    v0.0.278
    v0.0.277
    v0.0.276
    v0.0.275
    v0.0.274
    v0.0.273
    v0.0.272
    v0.0.271
    v0.0.270
    v0.0.269
    v0.0.268
    v0.0.267
    v0.0.266
    v0.0.265
    v0.0.264
    v0.0.263
    v0.0.262
    v0.0.261
    v0.0.260
    v0.0.259
    v0.0.258
    v0.0.257
    v0.0.256
    v0.0.255
    v0.0.254
    v0.0.251
    v0.0.253
    v0.0.252
    v0.0.250
    v0.0.249
    v0.0.248
    v0.0.247
    v0.0.246
    v0.0.245
    v0.0.244
    v0.0.243
    v0.0.241
    v0.0.242
    v0.0.240
    v0.0.239
    v0.0.238
    v0.0.237
    v0.0.236
    v0.0.235
    v0.0.234
    v0.0.233
    v0.0.232
    v0.0.231
    v0.0.230
    v0.0.229
    v0.0.228
    v0.0.227
    v0.0.226
    v0.0.225
    v0.0.224
    v0.0.223
    v0.0.222
    v0.0.221
    v0.0.220
    v0.0.219
    v0.0.218
    v0.0.217
    v0.0.216
    v0.0.215
    v0.0.214
    v0.0.213
    v0.0.212
    v0.0.211
    v0.0.210
    v0.0.209
    v0.0.207
    v0.0.208
    v0.0.203
    v0.0.206
    v0.0.205
    v0.0.204
    v0.0.202
    v0.0.201
    v0.0.200
    v0.0.199
    v0.0.198
    v0.0.197
    v0.0.196
    v0.0.195
    v0.0.194
    v0.0.193
    v0.0.192
    v0.0.191
    v0.0.190
    v0.0.189
    v0.0.188
    v0.0.187
    v0.0.184
    v0.0.183
    v0.0.182
    v0.0.181
    v0.0.180
    v0.0.179
    v0.0.178
    v0.0.177
    v0.0.176
    v0.0.175
    v0.0.174
    v0.0.173
    v0.0.172
    v0.0.171
    v0.0.170
    v0.0.169
    v0.0.168
    v0.0.167
    v0.0.166
    v0.0.143
    v0.0.165
    v0.0.164
    v0.0.163
    v0.0.162
    v0.0.161
    v0.0.160
    v0.0.159
    v0.0.158
    v0.0.157
    v0.0.156
    v0.0.155
    v0.0.154
    v0.0.153
    v0.0.152
    v0.0.151
    v0.0.150
    v0.0.149
    v0.0.148
    v0.0.147
    v0.0.146
    v0.0.145
    v0.0.144
    v0.0.142
    v0.0.141
    v0.0.136
    v0.0.140
    v0.0.139
    v0.0.138
    v0.0.137
    v0.0.135
    v0.0.134
    v0.0.133
    v0.0.132
    v0.0.131
    v0.0.130
    v0.0.129
    v0.0.128
    v0.0.127
    v0.0.126
    v0.0.125
    v0.0.124
    v0.0.123
    v0.0.122
    v0.0.121
    v0.0.120
    v0.0.119
    v0.0.118
    v0.0.117
    v0.0.116
    v0.0.115
    v0.0.114
    v0.0.113
    v0.0.112
    v0.0.111
    v0.0.110
    v0.0.109
    v0.0.108
    v0.0.107
    v0.0.106
    v0.0.105
    v0.0.104
    v0.0.103
    v0.0.102
    v0.0.101
    v0.0.100
    v0.0.99
    v0.0.98
    v0.0.97
    v0.0.96
    v0.0.91
    v0.0.95
    v0.0.94
    v0.0.93
    v0.0.92
    v0.0.90
    v0.0.89
    v0.0.88
    v0.0.87
    v0.0.86
    v0.0.85
    v0.0.84
    v0.0.83
    v0.0.82
    v0.0.81
    v0.0.80
    v0.0.79
    v0.0.78
    v0.0.77
    v0.0.76
    v0.0.75
    v0.0.74
    v0.0.73
    v0.0.72
    v0.0.71
    v0.0.70
    v0.0.69
    v0.0.68
    v0.0.67
    v0.0.66
    v0.0.65
    v0.0.64
    v0.0.63
    v0.0.62
    v0.0.61
    v0.0.60
    v0.0.59
    v0.0.58
    v0.0.57
    v0.0.56
    v0.0.55
    v0.0.54
    v0.0.53
    v0.0.52
    v0.0.51
    v0.0.50
    v0.0.49
    v0.0.48
    v0.0.47
    v0.0.46
    v0.0.45
    v0.0.43
    v0.0.44
    v0.0.42
    v0.0.41
    v0.0.40
    v0.0.39
    v0.0.38
    v0.0.37
    v0.0.36
    v0.0.35
    v0.0.34
    v0.0.33
    v0.0.32
    v0.0.31
    v0.0.30
    v0.0.29
    v0.0.25
    v0.0.28
    v0.0.27
    v0.0.26
    v0.0.2
    v0.0.1

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    CVE-2026-87008 | CVE-DB