Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
t3code-abspath-host-read — T3 Code 61c3794c 本地路径残留。一个配对的 filesystem:read 客户端可通过绝对路径或 ~/ 路径打开主机文件。写入操作仍限制在工作区内。回环实验环境。 | Kitploit
工具/GitHubGitHub/abraxas/t3code-abspath-host-read
漏洞分析代码分析Web应用程序漏洞利用渗透测试实验室与实践
GitHubabraxas/t3code-abspath-host-read

t3code-abspath-host-read

T3 Code 61c3794c 本地路径残留。一个配对的 filesystem:read 客户端可通过绝对路径或 ~/ 路径打开主机文件。写入操作仍限制在工作区内。回环实验环境。

查看仓库
22天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Abraxas Labs - t3code-abspath-host-read

t3code-abspath-host-read

你将手机或第二台机器配对到 T3 Code,以便它能打开项目文件。而同一项授权也能打开你的 SSH 密钥。文件读取 API 接受绝对路径或 ~/ 路径,并跳过写入操作仍然遵守的工作区边界限制。相对路径 ../ 仍会被阻止。只读的 MCP 代理不会获得此授权。

类别: 路径遗留问题 可达性: 本地(已配对的 filesystem:read;若所有者授予了该作用域,也可通过已配对的手机或浏览器触发)

T3 Code 61c3794c - Ping

ID暂无 CVE
类别路径遗留问题
可达性本地(持有 filesystem:read 的已配对客户端)
CWECWE-22 / CWE-73
CVSS中危:6.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
产品T3 Code
受影响版本61c3794c32b0eeebfac09add43e403618c65d2d7(v0.1.6 之后)
认证持有 filesystem:read 的已配对会话或标准授权会话
许可证GNU Affero GPL v3.0
实验环境针对 WorkspaceFileSystem 的环回 Vitest;未涉及生产主机

攻击者能做什么

需要一个已持有 filesystem:read 的凭据。默认配对包含该作用域,还包含 terminal:operate。访客共享无法触达此 RPC。MCP 只读仅有 orchestration:read。

权限方法 / 汇聚点侦察 / 完整性 / 可用性实验验证或推断
通过绝对路径读取主机文件WorkspaceFileSystem.readFile / RPC projectsReadFile,将 relativePath 设为绝对路径侦察(主机文件)实验验证。见证 t3f01w8k2 已返回
通过 ~/ 读取主机文件同一汇聚点,在实验 HOME 下将 relativePath 设为 ~/.lab-secret侦察实验验证。同一见证
为绝对媒体路径生成签名资源 URLassetsCreateUrl media-file侦察由源码推断。非本实验的判定依据
阴性对照:相对路径 ../readFile 使用走出工作区的路径不适用实验验证。WorkspacePathOutsideRootError
阴性对照:绝对路径写入writeFile 使用同一绝对机密路径不适用实验验证。被拒绝,机密未变
阴性对照:MCP 只读mcpClientScopes("read-only") 对比 projectsReadFile不适用实验验证。被拒绝

在此遗留问题下仍保持关闭

维度方法 / 汇聚点为何关闭
完整性通过绝对路径进行工作区写入resolveWriteTarget 限制在真实根目录内并拒绝 .git
侦察相对路径 ../ 读取resolveRelativePathWithinRoot
侦察T3 secretsDir 与 stateDir/*.sqliteisServerInternalPath
侦察访客共享 HTTP访客令牌从不进入 SessionStore
侦察MCP 只读 /mcp无 filesystem:read
完整性未认证的环回 RPCEnvironmentAuthPolicy 不为 unsafe-no-auth

产品文档(docs/internals/environment-auth.md)将 filesystem:read 描述为主机读取授权。UI 仍发送工作区相对路径。服务器接受了合法客户端不会产生的输入。标准配对还包含一个 shell。

我是如何发现的

我固定了 pingdotgg/t3code 61c3794c。resolveReadTarget 会展开 ~/,对绝对路径执行 realpath,并在没有 isInsideRealRoot 的情况下返回它。写入操作会执行该检查。公开 issue #316 仅关闭了写入操作上不受约束的 cwd。

错误方向:将 MCP 只读视为 projectsReadFile 的调用方(并非如此);将此视为未认证的遗留问题(它是已配对授权)。

实验环境

python3 t3code-abspath-host-read-Abraxas-Labs.py

或:

cd lab
./run.sh

将 pingdotgg/t3code 克隆到 lab/src 的 61c3794c 提交,使用 pnpm 安装,在 lab-home/.lab-secret 下放置一个见证文件,并运行 Vitest。仅限回环地址。Node 26 和 pnpm 12。

IOC abs-read=1
IOC home-read=1
IOC rel-escape=0
IOC write-abs=refused
IOC mcp-readonly-filesystem=denied
IOC secret-unchanged=1
SUCCESS T3-F01-ABSPATH t3f01w8k2

修复方案

在 realpath 之后,按照 resolveWriteTarget 已有的做法,要求目标位于 realpath(cwd) 之内。在读取和元数据操作时调用 knownWorkspaces.assertContains(input.cwd)。停止为没有项目的绝对路径生成 media-file URL。将 isServerInternalPath 扩展到整个 stateDir。

参考资料

  • github.com/pingdotgg/t3code 61c3794c32b0eeebfac09add43e403618c65d2d7
  • WorkspaceFileSystem.resolveReadTarget
  • CWE-22 · CWE-73

许可证

GNU Affero GPL v3.0。参见 LICENSE。仅限回环实验环境。不提供任何担保。

Abraxas Labs [email protected]

请将 CVE 致谢归于 Abraxas Labs。

下载工具