Links
Tags
Creators
Details
26.1.2-b5
Compatibility
Required content
Changes
VeryMcProto 26.1.2-b5(C2S 接收链安全修复)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25)。本线为维护对(ver/26.1.2 / ver/26.1.2-dev)。
⚠️ 安全修复(必更)
修复与上游 Servux 安全公告(2026-07-05 披露)同源的路径穿越任意文件写入漏洞(Critical Arbitrary File Write → RCE 向量):
- 漏洞:实验性 C2S schematic 文件接收链中,服务端直接用客户端网络包的
FileName字段构造落盘路径(Path.of/dir.resolve,零净化)——恶意客户端可用../或绝对路径逃逸plugins/VeryMcProto/schematics目录,在服务器任意位置写入 / 删除 / 读回解析文件;另有new Slice[客户端控长]的 OOM 向量。该线前置名册门可被任意客户端单包穿透(发一个带version=2的 metadata request 即入册),粘贴权限门又在写盘之后执行——均非有效防线。 - 修复(对齐上游 servux 0.10.4+/0.10.7 判定:实验性接收功能超出核心范围,整体禁用移除):
- handler
Litematic-Transmit*接收分流、receiveFileTransmit、SchematicBuffer/SchematicBufferManager、createFromFile/fileFromDirAndName、handleClientPasteRequestPair整链物理删除(约 516 行);上传重组完成后无条件走handleClientPasteRequest(上游 0.10.7:185-201字面同构) - 修复版 stock 客户端(litematica ≥ 0.27.9)已不再发送上传帧;旧客户端的发送帧落入 paste 路径静默忽略(无崩溃、不刷生产日志)
- handler
- 不受影响:投影粘贴主路(
LitematicaPaste,内存 NBT → PasteTask 分 tick,权限/创造模式双门)、实体/方块实体查询、InfoHud task 组、Syncmatica、JEI 均不变。
验证
./gradlew build全绿(含verifyVersionInjection版本注入终检);产物开箱复核:jar 内plugin.yml/version.properties= 26.1.2-b5,Transmit 类零残留- test 113/113 全绿(19 个测试类);仓库外沙盒探针曾实证
dir.resolve(客户端名)逃逸机制,修复后该链零代码级残留
产物
VeryMcProto-26.1.2-b5.jar —— Mojang 映射 jar(26.1 起无 reobf),标准 Paper 26.1.2 服务器放入 plugins/ 直接加载。
上一版本:v26.1.2-b4;旧版本线(MC 1.21.11)同源修复见 v1.21.11-b2。
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:tyOxCfUJ:wDs7igQO"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:tyOxCfUJ:wDs7igQO"
}

