Skip to content

v4.0.27 — review 14 finding 全修 + 2 patch

Latest

Choose a tag to compare

@xiangwhy xiangwhy released this 26 Jun 03:07

v4.0.27 (2026-06-26)

HEAD-wide 10-angle code review 翻出 14 P0 全修 + 2 个真机 patch。

改动

v4.0.26 review 14 finding 全修 (f887b34):

  • #1 loadConfig 6x strcpysnprintf(NVS 超长串缓冲溢出)
  • #2 cmgs drain 加 10ms delay(防双 core 抢 usbh_cdc buffer race)
  • #3 reserved-DCS sniff udHexdataHex(defense-in-depth)
  • #4 pdu_ud_offset_ex 内 sniff 跳 UDH concat IE 头
  • #5 cmgs_job gen counter 防 worker hang UAF
  • #6 web/config.h SSID full XSS escape(补 < > & ' 
 

  • #7 parse_udh get2 bounds + hex 校验
  • #9 /api/raw sanitizeForJson
  • #10 handle_restart 改 detached task
  • #11 7-bit numChars-=7 strstrparse_udh(防假命中)
  • #12 pdu_udh_offsetudhStart 参数(限定 IE pattern 扫描起点)
  • #13 cfgIsHardcoded 用 NVS cfg.provisioned 标记
  • #15 TX ref 8→16-bit(防 +CMS ERROR 331 重复 ref)
  • #14 REFUTED(/api/factory 算 OTA 范围不需 auth)

v4.0.26.1 (2c57777): 回退 #8 TON-aware valueOctets

  • 真机 Verify 号码显示 @@òD£ 乱码
  • ML307 oaLen 字段单位 = packed octets×2(非标准),BCD 公式碰巧正确

v4.0.26.2 (7846202): stash_udh_part UDHL+UDH 没跳过

  • True App 2 段 concat 解码出 P77ΔΘΣΘÄΠΣÄΠΘΞΔX ÆΣ Ψ 乱码
  • pdu_ud_offset_ex 返回 UD 段起始(UDHL 字节位置),不是 UD 数据起始
  • 修法:读 UDHL byte 算 (UDHL+1)*2 跳过 UDH

测试

  • host test 326/3 PASS(3 baseline reference FAIL 不动)
  • 真机验证:dtac 英文 OTP ✅ / Verify 泰文 OTP ✅ / True App 英文 concat OTP ✅

烧录

OTA: curl -X POST http://<device-ip>/update -F "file=@firmware.bin"