Skip to content

Security: leiddev/gbcodec

Security

SECURITY.md

安全策略

支持的版本

版本 是否接收安全报告
1.x 是
0.x(历史实现) 否;请升级到 1.x

报告安全漏洞

请不要使用公开的 issue 或 Pull Request 报告安全问题。任选一种私密渠道:

  1. 通过 GitHub 的 私密漏洞报告 提交;
  2. 发送邮件到 ld-1@163.com,标题以 [gbcodec security] 开头。

报告中请尽量包含:

  • 受影响的版本或提交号;
  • 平台与编译器;
  • 触发问题的最小输入(字节序列、缓冲区大小、函数名);
  • 你观察到的影响(越界读/写、崩溃、信息泄露等);
  • 如有,附上 ASan / UBSan 或调试器的输出。

处理流程

  1. 收到报告后 7 天内确认并给出初步判断;
  2. 在私密分支上复现并修复,同时补充回归测试;
  3. 修复版本发布后,在 GitHub Security Advisory 中公开细节,并在 CHANGELOG.md 中记录;
  4. 默认在修复发布后再公开,如需 CVE 编号请一并告知。

威胁模型

gbcodec 是一个纯计算库,不涉及文件、网络、进程或环境变量。安全相关的关注点 集中在不可信输入上:

  • 输入长度由调用方给出,函数不会读取 src_length 之外的字节;
  • 目标缓冲区容量由调用方给出,函数不会写到 dst_capacity 之外;
  • 所有长度与容量都经过显式检查,缓冲区不足返回 GBC_E_BUFFER_TOO_SMALL;
  • 除内部只读码表外没有全局可变状态,因此可安全地从多线程并发调用;
  • 不调用 malloc / free,不进行格式化字符串操作。

不属于安全漏洞的情况:

  • 传入错误的 src_length / dst_capacity(例如比实际缓冲区大),这属于调用方 的错误用法;
  • GBK / GB18030 字符无法映射——这是设计上的限制,见 docs/compatibility.md;
  • 拒绝非法 UTF-8 / UTF-16 输入。

There aren't any published security advisories