SEC: MultiMC 整合包 PreLaunch/Wrapper 写入设置并在启动时执行 #8
Open
opened 2026-11-09 14:23:45 +00:00 by layue13
·
0 comments
No Branch/Tag Specified
main
cursor/fix-open-security-issues-1729
cursor/publish-gitea-artifacts-1729
cursor/shrink-gradle-cache-4ee7
cursor/ci-cache-optimize-1729
cursor/mirror-gradle-actions-1729
fix/remove-committed-java
ci/faster-builds
fix/account-add-when-empty
feat/server-launcher-redesign
cursor/anthropic-ui-d801
cursor/remove-groups-multiplayer-1729
nightly
release/3.16
release/3.15
release/3.14
release/3.13
release/3.12
release/3.6
release/3.11
release/3.10
release/3.9
release/3.8
release/3.7
archive/release-3.5.6
archive/release-3.5.5
archive/release-3.5.4
archive/release-3.5.3
archive/release-3.5.0
archive/dev/zip
archive/dev/download
archive/task-refactor
archive/skin-refactor
archive/master
archive/javafx-kotlin
archive/gh-pages
archive/ancient
v3.17.0.364
v3.17.0.363
v3.17.0.362
v3.17.0.361
v3.17.0.360
v3.17.0.359
v3.17.0.357
v3.17.0.358
v3.16.4
release-3.16.4
v3.17.0.356
v3.17.0.355
v3.17.0.354
v3.17.0.353
v3.17.0.352
v3.16.3
release-3.16.3
v3.17.0.351
v3.16.2
v3.17.0.350
v3.16.1
release-3.15.3
v3.15.3
v3.16.0.348
v3.16.0.349
v3.16.0.347
release-3.15.2
v3.15.2
release-3.15.1
v3.15.1
v3.15.0.346
v3.15.0.345
v3.14.1
v3.14.0.344
release-3.14.1
v3.14.0.343
v3.13.2
release-3.13.2
v3.14.0.342
v3.14.0.341
v3.13.1
v3.13.0.340
v3.13.0.339
release-3.12.4
v3.12.4
v3.13.0.338
v3.13.0.337
v3.12.3
v3.13.0.336
release-3.12.2
v3.12.2
v3.13.0.335
v3.13.0.334
v3.13.0.333
v3.12.1
v3.12.0.332
v3.12.0.331
v3.12.0.330
release-3.11.2
v3.11.2
v3.12.0.329
v3.12.0.328
release-3.10.4
v3.10.4
v3.12.0.327
v3.11.1
v3.10.3
release-3.10.3
v3.11.0.326
v3.11.0.325
v3.11.0.323
v3.10.2
release-3.10.2
v3.11.0.322
v3.11.0.321
v3.9.2
release-3.9.2
v3.10.0.319
v3.10.1
v3.10.0.320
v3.10.0.318
v3.10.0.317
v3.10.0.316
v3.10.0.315
release-3.9.1
v3.9.1
v3.8.2
release-3.8.2
v3.9.0.314
v3.9.0.313
v3.9.0.312
v3.9.0.311
release-3.8.1
v3.8.1
release-3.7.6
v3.7.6
v3.8.0.310
v3.8.0.309
v3.8.0.308
v3.8.0.307
release-3.7.5
v3.7.5
v3.8.0.306
release-3.7.3
v3.7.3
v3.8.0.305
v3.8.0.304
v3.7.2
v3.8.0.303
v3.7.1
v3.7.0.302
v3.6.20
release-3.6.20
v3.7.0.301
v3.7.0.300
v3.7.0.298
v3.6.19
v3.6.18.297
release-3.6.18
v3.6.17.296
v3.6.17.294
release-3.6.17
v3.6.16.293
v3.6.16.292
v3.6.16.291
release-3.6.16
v3.6.15.290
v3.6.15.289
v3.6.15.288
v3.6.15.287
release-3.6.15
v3.6.14.286
v3.6.14.284
v3.6.14.285
release-3.6.14
release-3.6.13
v3.6.12.283
v3.6.12.282
v3.6.12.281
v3.6.12.280
v3.6.12.279
v3.6.12.278
v3.6.12.276
v3.6.12.275
v3.6.12.274
release-3.6.12
v3.6.11.273
v3.6.11.272
v3.6.11.271
v3.6.11.270
v3.6.11.269
v3.6.11.268
v3.6.11.267
v3.6.11.266
v3.6.11.265
v3.6.11.264
release-3.6.11
v3.5.9.263
v3.5.9.262
v3.5.9.261
release-3.5.10
v3.5.9.260
v3.5.9.259
v3.5.9.258
v3.5.9.257
v3.5.9.255
v3.5.9.254
v3.5.9.252
v3.5.8.251
release-3.5.9
v3.5.8.250
v3.5.8.249
v3.5.8.248
release-3.5.8
v3.5.7.247
v3.5.7.246
v3.5.7.245
v3.5.7.244
v3.5.6.243
release-3.5.7
v3.5.6.242
v3.5.6.241
v3.5.6.240
v3.5.5.238
v3.5.6.239
release-3.5.6
v3.5.5.237
v3.5.5.236
v3.5.5.235
release-3.5.5
v3.5.4.234
v3.5.4.233
v3.5.4.232
v3.5.3.230
v3.5.3.229
v3.5.3.228
v3.5.3.227
v3.5.3.226
v3.5.3.224
v3.5.3.223
v3.5.3.222
v3.5.3.221
v3.5.3.219
v3.5.3.220
v3.5.2.218
v3.5.2.217
v3.5.2.216
v3.5.2.215
v3.5.0.214
v3.5.0.213
release-3.5.0
v3.4.212
v3.4.211
v3.4.210
v3.4.209
v3.4.208
v3.4.202
v3.3.193
v3.3.192
move
v3.3.163
v3.3.162
v3.3.161
v3.2.160
v3.2.139
v3.2.140
v3.2.138
v3.2.137
v3.2.136
v3.2.135
v3.2.134
v3.2.133
v3.2.132
v3.2.131
v3.2.130
v3.2.129
v3.2.128
v3.2.127
v3.2.126
v3.2.124
v3.2.123
v3.2.121
v3.2.120
v3.2.119
v3.2.117
v3.2.116
v3.2.115
v3.2.114
v3.2.112
v3.2.111
v3.2.110
v3.2.109
v3.2.108
v3.2.107
v3.2.106
v3.2.105
v3.2.104
v3.2.103
v3.2.102
v3.2.101
v3.2.100
v3.2.99
v3.1.97
v3.1.98
v3.1.95
v3.1.94
v3.1.93
v3.1.92
v3.1.91
v3.1.90
v3.1.89
v3.1.87
v3.1.86
v3.1.85
v3.1.84
v3.1.83
v3.1.81
v3.1.80
v3.1.79
v3.1.78
v3.1.77
v3.1.76
v3.1.75
v3.1.74
v3.1.73
v3.1.72
v3.1.71
v3.1.70
v3.1.65
v3.1.63
v3.1.64
v3.1.61
v3.1.62
v3.1.60
v3.1.59
v3.1.58
v3.1.57
v3.1.56
v3.1.55
v3.0.54
v3.0.53
v3.0.52
v3.0.51
v3.0.50
v3.0.49
v3.0.48
v3.0.47
v3.0.46
v3.0.45
v3.0.44
v3.0.43
v3.0.42
v3.0.41
v3.0.40
v3.0.39
v3.0.38
v3.0.37
v3.0.36
v3.0.35
v3.0.34
v2.7.9.55
v2.7.9.54
v2.7.8.51
v2.7.8.47
v2.7.8.48
v2.7.8.49
v2.7.8.45
v2.7.8.44
v2.7.8.42
v2.7.8.39
v2.7.8.38
v2.7.8.37
v2.7.8.36
v2.7.8.34
v2.7.8.33
v2.7.7.32
v2.7.7.31
v2.7.7.30
v2.7.7.29
v2.7.7.28
v2.7.6.26
v2.5.3
v2.5.2
v2.5.1
65
64
63
62
61
60
58
57
56
55
53
52
51
50
49
48
46
44
43
42
41
40
39
38
36
35
34
33
32
31
30
29
27
26
2.4.1.25
2.4.1.24
2.4.1.23
2.4.1.22
2.4.1.21
2.4.1.20
2.4.0.19
2.4.0.50
2.3.5.9
2.3.5.45
2.3.5.8
2.3.5
2.3.4.13
Labels
Clear labels
area/build
area/client
area/compatibility
area/config
area/integration
area/lifecycle
area/lighting
area/network
area/performance
area/persistence
area/release
area/render
area/security
area/server
area/test
origin/scan
origin/upstream-sync
构建系统、编译与 CI。
仅客户端(渲染除外)
跨模组、跨版本或外部接口兼容行为。
默认配置、配方、日志噪音
跨仓库 API、工具链或功能联动问题。
实体、区块、世界对象的加载、卸载、持久化与资源所有权。
光照更新、传播队列及其与区块卸载、渲染路径的行为。
网络包与同步
运行时 CPU、内存、分配、网络或存盘开销问题。
NBT、存档、实体/区块加载卸载与生命周期
版本、Maven 坐标、制品发布与发布链路。
渲染、光照、着色器
权限边界、服务端校验、反序列化或其他安全风险。
仅服务端 tick/逻辑
测试实现、覆盖与验证设施
组织内部审计扫描产出
日扫上游 GTNH 发现的待吸收改动
priority
p0
最高处理优先级:广泛崩溃、数据或权限风险,或关键发布通道被阻断且无绕行方案。
priority
p1
高处理优先级:核心功能明显受损或影响范围较大,近期安排处理。
priority
p2
常规处理优先级:影响范围有限且有可行绕行,纳入计划处理。
priority
p3
低处理优先级:影响轻微或仅涉及边界场景,有空再处理。
resolution
duplicate
与另一 issue 重复
resolution
fixed
已有合并的 PR/commit 修复
resolution
invalid
复核后不成立/无法复现/无需处理
resolution
recorded
记录类 issue,记录完成即关闭
resolution
wontfix
评估后决定不修
type
audit
扫描、覆盖普查、设计评估等记录类,本身不是待修缺陷
type
chore
构建、CI、发布、依赖、版本、上游同步、清理
type
defect
功能错误、崩溃、数据错乱(不含性能与安全专项)
type
feature
新功能或联动,当前行为不算故障
type
perf
CPU/内存/分配/网络/存盘开销问题
type
question
待答复/待决策,尚未形成实现任务
type
security
权限越界、复制/刷物品、绕过领地、服务端校验缺失、反序列化
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: TDLM/HMCL#8
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
调研编号:扫描 2026-11-09 / G4
现象
用户安装 MultiMC 格式整合包时,若包配置声明
OverrideCommands,启动器会把包内的PreLaunchCommand/WrapperCommand原样写入实例的GameSettings;之后启动该实例时,DefaultLauncher用ProcessBuilder执行预启动命令,并把 Wrapper 拼进启动命令行。整合包来自不可信输入,导入即可在本机执行包指定的命令。危害类与优先级
SECp0证据(生效源码)
TDLM/HMCL+ 分支origin/main+ pin/commitbdacd654734c3665995a8c779da34139b9bdf373HMCL/src/main/java/org/jackhuang/hmcl/game/ModpackHelper.java:317-329(安装写入)、:350-363(更新写入);HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java:84-85(Wrapper)、:689-692(PreLaunch 执行)触发与复现
OverrideCommands与非空 PreLaunch/Wrapper 的 MultiMC 整合包,再启动该实例;默认流程可达,无需额外权限。client/默认配置可达 是落点
TDLM/HMCL→HMCL/.../ModpackHelper.java:317;协同消费侧HMCLCore/.../DefaultLauncher.java:689范式
引证
来源
ModpackHelper.java:317-329;DefaultLauncher.java:689-692;commitbdacd654734c3665995a8c779da34139b9bdf373origin/scan