6***@qq.com
6***@qq.com
  • 发布:2025-09-12 17:38
  • 更新:2025-09-12 19:05
  • 阅读:76

【报Bug】HBuilderX开发小程序自带Vite版本过低,有漏洞,新建空项目跑起来,别人就能够〈访问任何电脑文件〉,请协助修复 (>﹏<)

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11

HBuilderX类型: 正式

HBuilderX版本号: 4.76

浏览器平台: Chrome

浏览器版本: 140.0.7339.82

项目创建方式: 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也存在此问题。

2025-09-12 17:38 负责人:无 分享
已邀请:
DCloud_UNI_FengXY

DCloud_UNI_FengXY

如果你的电脑处于不可信的局域网,目前可以配置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'  
  }],  
});
  • 6***@qq.com (作者)

    下一版可以修复吗?

    2025-09-12 18:03

  • 6***@qq.com (作者)

    @DCloud_UNI_FengXY

    2025-09-12 18:03

  • DCloud_UNI_FengXY

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

    2025-09-12 19:07

  • 6***@qq.com (作者)

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


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


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


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

    2025-09-12 19:38

6***@qq.com

6***@qq.com (作者)

@DCloud_UNI_FengXY 客户方给出的暂时停用,等待修复,参考:"vite": "^5.2.8"修改。?

因为默认配置新建空项目就有问题,不止上面提到的这一个:https://github.com/vitejs/vite/security

下一版可以修复吗?

  • 6***@qq.com (作者)

    @DCloud-HBuilderX团队

    2025-09-12 18:21

要回复问题请先登录注册