Linux за българи: Форуми

Сигурност => Системна Сигурност => Темата е започната от: mrowcp в Jan 28, 2015, 13:26



Титла: Critical GHOST vulnerability affects most Linux Systems - CVE-2015-0235
Публикувано от: mrowcp в Jan 28, 2015, 13:26
Става дума за проблем в GNU C Library (glibc), които се ползва в повечето Linux дистрибуции. Buffer overflow намерен в __nss_hostname_digits_dots() функцията в glibc. Повече инфо тук ($2)

Засяга доста широка група от приложение:  Apache, Exim, Sendmail, Nginx, MySQL, CUPS, Samba и т.н (при exim дори не било нужно да се отваря писмото с expl-та и прескача защити като ASLR, PIE и NX)

Ето как може да тествате дали сте vuln:

Код
GeSHi (Bash):
  1. (mrowcp@shells) cat > GHOST.c << EOF
  2. #include <netdb.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <errno.h>
  7.  
  8. #define CANARY "in_the_coal_mine"
  9.  
  10. struct {
  11. char buffer[1024];
  12. char canary[sizeof(CANARY)];
  13. } temp = { "buffer", CANARY };
  14.  
  15. int main(void) {
  16. struct hostent resbuf;
  17. struct hostent *result;
  18. int herrno;
  19. int retval;
  20.  
  21. /*** strlen (name) = size_needed - sizeof (*host_addr) - sizeof (*h_addr_ptrs) - 1; ***/
  22. size_t len = sizeof(temp.buffer) - 16*sizeof(unsigned char) - 2*sizeof(char *) - 1;
  23. char name[sizeof(temp.buffer)];
  24. memset(name, '0', len);
  25. name[len] = '\0';
  26.  
  27. retval = gethostbyname_r(name, &resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno);
  28.  
  29. if (strcmp(temp.canary, CANARY) != 0) {
  30. puts("vulnerable");
  31. exit(EXIT_SUCCESS);
  32. }
  33. if (retval == ERANGE) {
  34. puts("not vulnerable");
  35. exit(EXIT_SUCCESS);
  36. }
  37. puts("should not happen");
  38. exit(EXIT_FAILURE);
  39. }
  40. EOF

При мен на CentOS 6.2

Код
GeSHi (Bash):
  1. (mrowcp@shells)(~/scripts)>uname -a
  2. Linux shells 2.6.32-220.el6.i686 #1 SMP Tue Dec 6 16:15:40 GMT 2011 i686 i686 i386 GNU/Linux
  3.  
  4. (mrowcp@shells)(~/scripts)>gcc GHOST.c -o GHOST
  5.  
  6. (mrowcp@shells)(~/scripts)>./GHOST
  7. vulnerable

Фикса е в ъпдейт :) Вече има такъв за повечето дистрота.

ЕДИТ: В момента:

Код
GeSHi (Bash):
  1. Installed Packages
  2. Name        : glibc
  3. Arch        : i686
  4. Version     : 2.12
  5. Release     : 1.47.el6_2.12

След ъпдейт до:

Код
GeSHi (Bash):
  1. Name        : glibc
  2. Arch        : i686
  3. Version     : 2.12
  4. Release     : 1.149.el6_6.5
  5.  
  6. (mrowcp@shells)(~/scripts)>./GHOST
  7. not vulnerable


Титла: Re: Critical GHOST vulnerability affects most Linux Systems - CVE-2015-0235
Публикувано от: go_fire в Jan 28, 2015, 14:22
Това го видях при блятките, но на мен нищо не ми говори. А защо не го пуснеш в новините?


Титла: Re: Critical GHOST vulnerability affects most Linux Systems - CVE-2015-0235
Публикувано от: programings в Jan 28, 2015, 18:13
http://lcamtuf.blogspot.com/2015/01/technical-analysis-of-qualys-ghost.html

Чак Залевски се изгаври...  ;D


Титла: Re: Critical GHOST vulnerability affects most Linux Systems - CVE-2015-0235
Публикувано от: mrowcp в Jan 30, 2015, 17:01
Възможно е тази уязвимост да засяга и WordPress CMS заради използването на wp_http_validate_url() функцията. Проверката става с:
Код
GeSHi (Bash):
  1. php -r '$e="0″;for($i=0;$i<2500;$i++){$e="0$e";} gethostbyname($e);' Segmentation fault

Повече инфо тук ($2).