[6258] 2019-11-03_LinuxSudo漏洞(CVE-2019-14287)分析

文档创建者:s7ckTeam
浏览次数:8
最后更新:2025-01-17
2019-11-03_LinuxSudo漏洞(CVE-2019-14287)分析 L i n u x   S u d o   C V E - 2 0 1 9 - 1 4 2 8 7 E   2 0 1 9 - 1 1 - 0 3   y u h a o N o . 1 N o . 1         s u d o 1 . 8 . 2 9   L i n u x         使 N o . 2 N o . 2         s u d o r o o t s u d o   i d   1 . 8 . 2 8 r o o t s u d o e r s A L L R u n a s         L i n u x s u d o   - V   |   g r e p   ' S u d o   v e r s i o n ' 1 . 8 . 2 9 N o . 3 N o . 3 s u d o S U I D l s   - l   / u s r / b i n / s u d o         r o o t , r o o t S U I D 使 E U I D         s u d o / e t c / s u d o e r s 使 s u d o s u d o   .
        s u d o   - u u s e r n a m e # u i d U S e r         s u d o e r s r u n a s A L L         / e t c / s u d o e r s % % a d m i n % s u d o % r o o t r o o t   A L L = ( A L L : A L L )   A L L A L L r o o t s u d o A L L : A L L t e s t u s e r   A L L = ( A L L : A L L )   A L L r o o t
s u d o   - u # - 1   i d   - u s u d o   - u # 4 2 9 4 9 6 7 2 9 5   i d   - u         3 2 6 4 C 4 8 3 2         - 1 3 2 1         2 ^ 3 2 - 1 = 4 2 9 4 9 6 7 2 9 5         3 2 1 % d - 1 4 2 9 4 9 6 7 2 9 5         - 1 4 2 9 4 9 6 7 2 9 5   s u d o   I D 0 s u d o
v o i d e x e c _ c m n d ( s t r u c t   c o m m a n d _ d e t a i l s   * d e t a i l s ,   s t r u c t   c o m m a n d _ s t a t u s   * c s t a t ,         i n t   e r r f d ) {         d e b u g _ d e c l ( e x e c _ c m n d ,   S U D O _ D E B U G _ E X E C )         r e s t o r e _ s i g n a l s ( ) ;         i f   ( e x e c _ s e t u p ( d e t a i l s ,   N U L L ,   - 1 )   = =   t r u e )   {                 / *   h e a d e d   f o r   e x e c v e ( )   * /                 s u d o _ d e b u g _ e x e c v e ( S U D O _ D E B U G _ I N F O ,   d e t a i l s - > c o m m a n d ,                                                     d e t a i l s - > a r g v ,   d e t a i l s - > e n v p ) ;                 s u d o _ e x e c v e ( d e t a i l s - > c o m m a n d ,   d e t a i l s - > a r g v ,   d e t a i l s - > e n v p ,                                         I S S E T ( d e t a i l s - > f l a g s ,   C D _ N O E X E C ) ) ;                 c s t a t - > t y p e   =   C M D _ E R R N O ;                 c s t a t - > v a l   =   e r r n o ;                 s u d o _ d e b u g _ p r i n t f ( S U D O _ D E B U G _ E R R O R ,   " u n a b l e   t o   e x e c   % s :   % s " ,                                                     d e t a i l s - > c o m m a n d ,   s t r e r r o r ( e r r n o ) ) ;         }         d e b u g _ r e t u r n ; } e x e c _ s e t u p , S U D 0 _ D E B U G _ E X E C , I D
b o o l e x e c _ s e t u p ( s t r u c t   c o m m a n d _ d e t a i l s   * d e t a i l s ,   c o n s t   c h a r   * p t y n a m e ,   i n t   p t y f d ) {         b o o l   r v a l   =   f a l s e ;         d e b u g _ d e c l ( e x e c _ s e t u p ,   S U D O _ D E B U G _ E X E C ) ;         u n l i m i t _ n p r o c ( ) ; # i f d e f   H A V E _ S E T R E S U I D         i f   ( s e t r e s u i d ( d e t a i l s - > u i d ,   d e t a i l s - > e u i d ,   d e t a i l s - > e u i d )   ! =   0 )   {         s u d o _ w a r n ( U _ ( " u n a b l e   t o   c h a n g e   t o   r u n a s   u i d   ( % u ,   % u ) " ) ,   d e t a i l s - > u i d ,                 d e t a i l s - > e u i d ) ;         g o t o   d o n e ;         } # e l i f   d e f i n e d ( H A V E _ S E T R E U I D )         i f   ( s e t r e u i d ( d e t a i l s - > u i d ,   d e t a i l s - > e u i d )   ! =   0 )   {         s u d o _ w a r n ( U _ ( " u n a b l e   t o   c h a n g e   t o   r u n a s   u i d   ( % u ,   % u ) " ) ,                 ( u n s i g n e d   i n t ) d e t a i l s - > u i d ,   ( u n s i g n e d   i n t ) d e t a i l s - > e u i d ) ;         g o t o   d o n e ;         } # e l s e         i f   ( s e t e u i d ( d e t a i l s - > e u i d )   ! =   0   | |   s e t u i d ( d e t a i l s - > e u i d )   ! =   0 )   {         s u d o _ w a r n ( U _ ( " u n a b l e   t o   c h a n g e   t o   r u n a s   u i d   ( % u ,   % u ) " ) ,   d e t a i l s - > u i d ,                 d e t a i l s - > e u i d ) ;         g o t o   d o n e ;         } # e n d i f   / *   ! H A V E _ S E T R E S U I D   & &   ! H A V E _ S E T R E U I D   * /         / *   R e s t o r e   p r e v i o u s   v a l u e   o f   R L I M I T _ N P R O C .   * /         r e s t o r e _ n p r o c ( ) ;         r v a l   =   t r u e ; d o n e :         d e b u g _ r e t u r n _ b o o l ( r v a l ) ; }
s e t r e s u i d s e t r e u i d s e t e u i d         r o o t I D         s u d o s e t u i d ( r o o t _ u i d ) 使 r o o t , l s   - l   / u s r / b i n / s u d o         s u d o r o o t         - 1 4 2 9 4 9 6 7 2 9 5 0 使 r o o t         s e t u i d r o o t , N o . 4 N o . 4 D e b i a n : s u d o   a p t - g e t   u p d a t e   &   a p t - g e t   u p g r a d e   s u d o   a p t - g e t   u p g r a d e   s u d o R H E L : y u m   u p d a t e y u m   u p d a t e   s u d o s u d o 1 . 8 . 2 9 s u d o   - V   |   g r e p   ' S u d o   v e r s i o n '
E N D
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则