1. 13 10月, 2022 2 次提交
  2. 11 10月, 2022 2 次提交
  3. 10 10月, 2022 3 次提交
  4. 29 9月, 2022 1 次提交
  5. 26 9月, 2022 1 次提交
  6. 21 9月, 2022 1 次提交
  7. 01 9月, 2022 1 次提交
    • F
      feat: 增加red zone/poison特性,提高musl内存分配器对溢出和UAF的防护能力 · 65228e15
      Far 提交于
      1. chunk overhead区增加两个字段usize和state,分别记录实际占用的payload的大小以及当前chunk的状态。
      其中chunk的状态包括是否分配给用户以及是否被下毒。下毒指的是在chunk除有效payload(即用户实际使用
      的内存)外的内存中填充进随机生成的数据。在malloc/free时检测这些区域即可实现对溢出以及UAF的校验。
      
      2. 为了提高性能,并不会对所有chunk下毒,而是每POISON_COUNT_DOWN_BASE次malloc/free时进行一次下毒。
      Signed-off-by: NFar <yesiyuan2@huawei.com>
      Change-Id: Idb341c202d8ec99f5370d4f589ee261ded8b163f
      65228e15
  8. 29 8月, 2022 1 次提交
  9. 28 8月, 2022 1 次提交
  10. 26 8月, 2022 2 次提交
  11. 25 8月, 2022 1 次提交
  12. 24 8月, 2022 1 次提交
  13. 19 8月, 2022 1 次提交
  14. 12 8月, 2022 1 次提交
  15. 11 8月, 2022 1 次提交
  16. 08 8月, 2022 1 次提交
  17. 06 8月, 2022 1 次提交
  18. 02 8月, 2022 3 次提交
  19. 01 8月, 2022 2 次提交
  20. 28 7月, 2022 1 次提交
    • F
      feat: malloc指针混淆以及safe unlink · 1d4c1642
      Far 提交于
      1. 指针混淆:
         对空闲chunk的双向链表指针next、prev进行混淆。具体为将该指针与一个key做异或操作。
         不同的bin拥有不同的key,key通过随机数生成器生成。
      2. safe unlink:
         在unbin操作时校验双向链表的有效性,即检查双向链表中前一项和后一项的指向当前chunk
         的指针是否正常,否则终止进程。
      
      这两个功能均可通过MALLOC_FREELIST_HARDENED宏开关
      这个宏可以通过编译框架直接开关(在编译命令后增加 --gn-args "musl_secure_level=1"打开)
      
      Change-Id: I05fd4404aeebcb396c8471f181a30305fb9dbe74
      Signed-off-by: NFar <yesiyuan2@huawei.com>
      1d4c1642
  21. 27 7月, 2022 4 次提交
  22. 26 7月, 2022 1 次提交
  23. 22 7月, 2022 1 次提交
  24. 24 6月, 2022 2 次提交
  25. 09 6月, 2022 1 次提交
  26. 07 6月, 2022 1 次提交
    • C
      fix(asan): fix the deadlock issue of musl dlopen in clang asan runtime · 07d61e4e
      Caoruihong 提交于
      musl的dlopen实现在ld-musl-aarch64-asan.so.1库中,因为这个库是linker,
      比asan运行时库libclang_rt.asan.so更早被执行,dlopen中因为使用了动态内存分配,
      在asan的hook生效前就已经调用了calloc,等到asan hook生效后再触发了调用realloc,
      被asan检测到realloc的内存地址不在asan的动态内存管理范围内从而触发报告asan错误日志,
      而asan报告错误日志时正好又需要调用到dl相关函数(dl_iterate_phdr)进行函数栈回溯,
      进而导致死锁。
      本PR中的修改方法是将linker中使用的内存操作函数进行本地绑定,不让asan运行时库接管,
      进而避免此问题场景的出现,本修改仅影响asan版本,正常版本不受影响。
      Signed-off-by: NCaoruihong <crh.cao@huawei.com>
      Change-Id: I499228c658e23ee47c51e18a91cb4b9cbec57722
      07d61e4e
  27. 19 5月, 2022 1 次提交
  28. 28 4月, 2022 1 次提交