|
|
c4e47fe9fa
|
安全加固:升级依赖消除高危漏洞,修复构建兼容性问题
【主项目依赖升级】
- hexo 6.x → 8.1.2:移除 swig-templates、swig-extras、旧版 cheerio、
hexo-fs/hexo-util 等大量漏洞依赖链,解决 critical/high 级别漏洞
- hexo-renderer-marked 5.x → 7.0.1:修复 dompurify XSS 漏洞(GHSA-hpcv)
- gulp 4.x → 5.0.1:修复 vinyl-fs、glob/glob-stream、chokidar、
braces 等 high 级漏洞链
- hexo-generator-sitemap 2.2.0 → 3.0.1:同步升级
【替换高危依赖】
- gulp-htmlmin 替换为 gulp-html-minifier-terser@7.1.0:
gulp-htmlmin 依赖的 html-minifier 存在 ReDoS 高危漏洞且无修复版本,
改用其维护分支 html-minifier-terser,API 完全兼容
- optimist 替换为 minimist@1.2.8(devDependency):
optimist 捆绑的 minimist@<=0.2.3 存在 prototype pollution critical 漏洞,
直接使用修复版 minimist 替代
【移除无修复版本的高危包】
- 移除 hexo-generator-baidu-sitemap(无维护更新,内部捆绑 hexo@4.x
导致一系列 critical 漏洞),在 scripts/generator.js 中实现等效的
自定义 Baidu Sitemap 生成器替代,功能与原包完全一致
【npm overrides 修复传递依赖漏洞】
- 添加 overrides: { ejs: "^6.0.1" }:
hexo-renderer-ejs@2.x 依赖 ejs@3.x,ejs@3.x 存在 SSTI critical 漏洞
且引入 jake → filelist → minimatch → brace-expansion 漏洞链;
ejs@6.x 已无 jake 依赖,critical 漏洞全部消除
【yilia 主题依赖升级】
- @babel/core 7.26.x → 7.29.7:修复 Arbitrary File Read 漏洞
- @babel/plugin-transform-runtime / @babel/preset-env 同步升级至 7.29.x
- postcss 8.5.3 → 8.5.25:修复 XSS 及路径遍历漏洞
- 移除 clean-webpack-plugin(依赖链含 brace-expansion 高危漏洞),
改用 webpack 5 内置 output.clean 实现等效的增量清理功能
- 添加 overrides: { brace-expansion: "5.0.9" } 修复剩余传递依赖漏洞
【构建兼容性修复】
- scripts/generator.js 新增 jsfiddle tag 注册:
hexo@8 移除了内置 {% jsfiddle %} tag 导致构建 FATAL,
重新实现该 tag 保持原有 iframe 嵌入行为
- gulpfile.js generate 任务错误处理修正:
原代码在 hexo FATAL 时调用 hexo.exit(err) 但不向 gulp 抛出异常,
导致 series 继续执行后续任务(compressHtml 因 public/ 不存在而报错),
修改为在 hexo 退出后重新 throw err 确保 gulp 正确感知失败
【修复结果】
- 主项目:56 个漏洞(8 低危、14 中危、25 高危、9 严重)→ 0 个漏洞
- yilia 主题:8 个漏洞 → 1 个低危
(剩余 1 个为 vue@2.x ReDoS,仅影响构建时自身模板解析,
修复需整体迁移到 Vue 3 重写主题,暂不处理)
|
2026-07-31 20:38:04 +08:00 |
|
|
|
05a3b66599
|
node-sass换为dart-sass
|
2022-03-13 00:35:25 +08:00 |
|
|
|
802bec24b5
|
升级hexo相关依赖包
|
2022-03-08 13:53:54 +08:00 |
|
|
|
367b76c246
|
原生CSS变量 补充
|
2021-04-26 14:45:26 +08:00 |
|
结发受长生
|
da6a1e78ec
|
修改获取base64代码错误
|
2020-01-30 18:00:05 +08:00 |
|
结发受长生
|
887b74dbcf
|
升级hexo
|
2020-01-16 14:30:51 +08:00 |
|
结发受长生
|
da0530d37a
|
定制文章内容xml模板
|
2019-07-01 14:48:12 +08:00 |
|
结发受长生
|
2b635d6783
|
优雅写异步与循环
|
2019-07-01 00:12:32 +08:00 |
|
结发受长生
|
c287a3e94e
|
文章分词数据同步
|
2019-06-29 12:12:11 +08:00 |
|
结发受长生
|
40d2b564a3
|
algolia-search你个废物,不能传全文执行检索要你何用
|
2019-06-28 20:23:34 +08:00 |
|
结发受长生
|
d2987e3a14
|
添加Algolia
|
2019-06-27 17:37:55 +08:00 |
|
结发受长生
|
ed30d8779f
|
配色细节修改
|
2019-05-23 16:40:13 +08:00 |
|
结发受长生
|
83a464b2c2
|
冤枉gulp-plumber了,是服务器内存捉急
|
2019-05-18 16:32:15 +08:00 |
|
结发受长生
|
5decb8a7ca
|
gulp-plumber坑我, 大概率会导致构建进程挂掉
|
2019-05-16 10:19:48 +08:00 |
|
结发受长生
|
a0a5800024
|
html压缩+图片同步
|
2019-05-11 00:47:37 +08:00 |
|
结发受长生
|
9c264c9f4e
|
更新依赖包
|
2019-04-14 18:20:53 +08:00 |
|
结发受长生
|
9aad0275e8
|
删除deployer-git依赖
|
2019-04-14 17:53:38 +08:00 |
|
结发受长生
|
8d1a484ecf
|
依赖包更新
|
2019-04-09 09:09:03 +08:00 |
|
结发受长生
|
5470557958
|
修改版本号
|
2019-03-12 12:28:10 +08:00 |
|
sookie
|
d9bc70372e
|
正则表达式重新入门2
|
2018-12-28 14:44:19 +08:00 |
|
结发受长生
|
51e7114a22
|
package-lock
|
2018-12-22 14:33:30 +08:00 |
|
sookie
|
edffbb8fda
|
依赖包升级
|
2018-12-07 17:40:21 +08:00 |
|
结发受长生
|
abc26411b6
|
字数统计
|
2018-06-29 14:40:35 +08:00 |
|
结发受长生
|
04142bf5b4
|
百度站点地图
|
2018-06-27 16:44:53 +08:00 |
|
结发受长生
|
cb20865b09
|
站点地图
|
2018-06-27 13:49:59 +08:00 |
|
结发受长生
|
72a6daf3f5
|
重新认识display
|
2018-06-14 17:32:10 +08:00 |
|
结发受长生
|
c77caf259f
|
新主题
|
2018-06-06 17:33:48 +08:00 |
|
结发受长生
|
2894c24b96
|
博客评论
|
2018-05-07 10:39:14 +08:00 |
|
结发受长生
|
7aff3b6bf8
|
字体调整
|
2018-05-06 14:46:16 +08:00 |
|
结发受长生
|
0d8a9f6739
|
initial
|
2018-05-06 01:00:35 +08:00 |
|