HBuilderX开发uni-app小程序自带Vite版本过低有漏洞新建空项目跑起来别人就能够〈访问任何电脑文件〉请协助修复

HBuilderX开发uni-app小程序自带Vite版本过低有漏洞新建空项目跑起来别人就能够〈访问任何电脑文件〉请协助修复

开发环境 版本号 项目创建方式
Windows 11 HBuilderX

示例代码:

安全原因不让我们使用HBuilderX。 还有很多类似的问题,代码示例等参考链接:https://github.com/vitejs/vite/security

(这里展示的是和我们说的,最严重的一个)


### 操作步骤:


按标准流程新建uni-app空项目,直接在Chrome中运行。

1. 从首页(下载链接 https://qiniu-ecdn.dcloud.net.cn/download/HBuilderX.4.76.2025082103.zip)下载最新版的4.76后,直接打开,选择新建一个uni-app Vue3小程序,如下图1。

2. 新建好后选择以Chrome方式运行,下图2。然后在磁盘根目录新建文件夹tmp,文件夹下新建secret.txt,假定它存密钥等重要信息。

3. 局域网访问`http://xxx:5173/@fs/tmp/secret.txt?import&raw`就能看到这个重要信息。

另外,如果是用Windows Server + 公网ip更糟糕,直接全网可访问你电脑了。虽然一般不会在上面开发。

(我们主要用HBuilderX做uni-app开发,项目文件夹内外都有些固定文件,存密钥key等,确实有这个问题。)

预期结果:

预期结果是没有这些Vite的漏洞。修复方法供你们参考:好像只要在【D:/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/package.json】中的"devDependencies": { “vite”: “5.2.8” },这里HBuilderX中默认如果是 “vite”: “^5.2.8”,带着【^】,似乎就能解决此问题?建议下一版添加^,参考: https://docs.npmjs.com/about-semantic-versioning


### 实际结果:


页面中,显示出了secret.txt内容:export default "test_"

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlY3JldC50eHQ/aW1wb3J0JnJhdyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcInRlc3RfXCIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUsifQ==

说必须立即停用,如果拿到.ssh这样的文件,就能登录你们电脑。

bug描述:

我在https://www.dcloud.io/hbuilderx.html下载最新版的HBuilderX也有这个问题。

起因是客户方因为发现Vite版本过低禁止我们使用HBuilderX,然后下载最新版HBuilderX也存在此问题。


更多关于HBuilderX开发uni-app小程序自带Vite版本过低有漏洞新建空项目跑起来别人就能够〈访问任何电脑文件〉请协助修复的实战教程也可以访问 https://www.itying.com/category-93-b0.html

13 回复

如果你的电脑处于不可信的局域网,目前可以配置vite.config.js,关闭局域网访问 import {
defineConfig
} from “vite”;
import uni from “@dcloudio/vite-plugin-uni”;

/**

  • @type {import(‘vite’).UserConfig}
    */
    export default defineConfig({
    server: {
    host: ‘localhost’
    },
    plugins: [uni(), {
    name: ‘test’
    }],
    });

更多关于HBuilderX开发uni-app小程序自带Vite版本过低有漏洞新建空项目跑起来别人就能够〈访问任何电脑文件〉请协助修复的实战教程也可以访问 https://www.itying.com/category-93-b0.html


下一版可以修复吗?

回复 6***@qq.com: 发版流程较长,需要详细测试,你可以在HBuilderX/plugins/uniapp-cli-vite/package.json 修改版本号,手动yarn 安装依赖,建议升级到5.4.19,太高版本可能兼容性会出问题

回复 DCloud_UNI_FengXY: 非常非常感谢,希望尽快。

顺便问一句,下次发版是使用添加^标记修复吗?(“vite”: "^x.y.z"修复)

“太高版本可能兼容性会出问题”,下一版还有吗?还是下一版本也需要固定版本号?

不知道文中这个办法对你是否有用:看了npm文档说添加了此标记,就能够保持最新版本,避免各种问题。

回复 6***@qq.com: 我们不会通过^升级版本,还是会锁定版本,预计先升级到5.4.19版本。每次发版保持最新版本可能会引发细节兼容性问题,对于我们这样体量的开发工具,稳定性是很重要的。

回复 DCloud_UNI_FengXY:

非常感谢,解决了我的问题,希望尽快。我感到非常满意,谢谢您!

@DCloud_UNI_FengXY 客户方给出的暂时停用,等待修复,参考:“vite”: "^5.2.8"修改。?
因为默认配置新建空项目就有问题,不止上面提到的这一个:https://github.com/vitejs/vite/security
下一版可以修复吗?

回到顶部