libarchive 也存在一些由 Jia Tan 提交的可疑代码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yyzh
V2EX    信息安全

libarchive 也存在一些由 Jia Tan 提交的可疑代码

  •  1
     
  •   yyzh 2024-03-30 11:11:29 +08:00 5606 次点击
    这是一个创建于 624 天前的主题,其中的信息可能已经有所发展或是发生改变。
    15 条回复    2024-04-01 11:06:17 +08:00
    Sayuri
        1
    Sayuri  
       2024-03-30 14:01:00 +08:00
    我感觉这里并没有引入恶意的什么代码。

    只是因为这个人做的事情让大家失去信任了。
    MacTavish123
        2
    MacTavish123  
       2024-03-30 14:23:09 +08:00
    @Sayuri 可能尚未来得及引入
    lisxour
        3
    lisxour  
       2024-03-30 14:23:49 +08:00   3
    @Sayuri 不对吧,虽然我不懂这个项目和 c ,但是他直接将 safe_fprintf 换成 fprintf ,确定没问题?
    GenericT
        4
    GenericT  
       2024-03-30 17:53:06 +08:00
    @lisxour strerror 给的东西是 libc 传过来的,本身就是安全的
    daveh
        5
    daveh  
       2024-03-30 19:18:46 +08:00   3
    @Sayuri GenericT #1 #4
    safe_fprintf 改 fprintf 确实很可疑,真没这个必要改,对代码功能来讲真没啥鸟用。

    但是正是这种改动,让人看不到攻击者的真实意图。
    理论上讲这个改动其实是有问题的,这要从这次 xz/sshd 漏洞利用的原理上讲,主要这个 IFUNC 机制,感兴趣上网找找理解一下。
    简单讲,safe_fprintf 并不是什么标准库或三方库的函数,可能是自己写的,编译优化、符号隐藏、剥离调试信息、strip 等等,都会让程序运行时,根本看不到什么 safe_fprintf ,IFUNC 也无法替换它;而 fprintf 不同,它是标准库函数,能被 IFUNC 替换掉。
    攻击者可能不想让用户看到一些莫名其妙或不相干的错误输出,他就可以通过 IFUNC 机制截获 fprintf ,修改输出内容,从而达到隐藏自己的目的。
    seers
        6
    seers  
       2024-03-30 19:21:07 +08:00 via iPhone
    换成 std 库的符号就可以 plt hook 了
    est
        7
    est  
       2024-03-30 21:05:00 +08:00
    所以 IFUNC 这玩意是干嘛的。?
    gsfish
        8
    gsfish  
       2024-03-30 22:03:07 +08:00   4
    苦心经营多年,在最后关头给人发现了,泪目
    Aloento
        9
    Aloento  
       2024-03-30 22:13:00 +08:00
    @est #7 间接函数,创建对一个既有函数的多个实现,在运行时来选择具体的某个实现
    est
        10
    est  
       2024-03-30 22:50:19 +08:00
    @Aloento 听上去。。很容易出问题的样子。。。
    GenericT
        11
    GenericT  
       2024-03-31 12:05:14 +08:00 via Android
    @daveh 你在说啥呢,这是个自己写的函数,你去看下实现啊,内部还是调 fprintf 的,你说的这些完全不成立
    daveh
        12
    daveh  
       2024-03-31 12:52:36 +08:00 via iPhone
    @GenericT #11 这哪一样啊?虽然都是 fprintf ,但是传参可能不一样,写 hook 最好要原始输入参数,变化后 hook 不好写。
    GenericT
        13
    GenericT  
       2024-03-31 14:19:15 +08:00 via Android
    @daveh 他都能任意代码执行了,他还需要管啥参数吗
    luozic
        14
    luozic  
       2024-03-31 21:34:27 +08:00
    gcc 编译器下面才可用,使用的是 gcc 的一个 feature ?
    jackleeforce3615
        15
    jackleeforce3615  
       2024-04-01 11:06:17 +08:00
    凡是此人的 PR/MR ,都得拉出来讨论或者干脆回滚,太危险了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1126 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:05 PVG 01:05 LAX 09:05 JFK 12:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86