home » search tags
Die Suche tag = bug ergab 2 Treffer:

Januar
28
janitor » #useless #puppet #bug
Eigentlich wollte ich nur einen NFS-mount mit Puppet durchführen

mount { '/mnt/code/' :
ensure => 'mounted',
device => 'nfs-server:/mnt/code',
fstype => 'nfs',
options => 'defaults',
atboot => true,
}

und beim ersten Durchlauf des agent wurde auch kein Fehler gemeldet und der mount war vorhanden. Ab dem zweiten Durchlauf trat aber der folgende Fehler auf:
Could not evaluate: Execution of '/bin/mount -o defaults /mnt/code/' returned 32: \
mount.nfs: /mnt/code is busy or already mounted



Grund hierfür ist ein Bug von Puppet im handling der mount-ressource, denn tauscht man den resource identifier von /mnt/code/ zu /mnt/code (also ohne abschließenden /) dann läuft alles sauber durch.

Den passenden Bug kann man hier bei Puppet finden.
Januar
28
janitor » #useless #bug #glibc
Auf der oss-sec Mailingliste gab die Firma Qualys bekannt einen Fehler in der glibc beim Aufruf von gethostbyname() gefunden zu haben über den Schadcode ausgeführt werden kann.

Glibc-Versionen ab 2.18 sind von dem Problem nicht mehr betroffen.

Mit folgendem C-Code kann überprüft werden ob ein System betroffen ist
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

#define CANARY "in_the_coal_mine"

struct {
char buffer[1024];
char canary[sizeof(CANARY)];
} temp = { "buffer", CANARY };

int main(void) {
struct hostent resbuf;
struct hostent *result;
int herrno;
int retval;

size_t len = sizeof(temp.buffer) - 16*sizeof(unsigned char) - 2*sizeof(char *) - 1;
char name[sizeof(temp.buffer)];
memset(name, '0', len);
name[len] = '\0';

retval = gethostbyname_r(name, &resbuf;, temp.buffer, sizeof(temp.buffer), &result;, &herrno;);

if (strcmp(temp.canary, CANARY) != 0) {
puts("vulnerable");
exit(EXIT_SUCCESS);
}
if (retval == ERANGE) {
puts("not vulnerable");
exit(EXIT_SUCCESS);
}
puts("should not happen");
exit(EXIT_FAILURE);
}

Nach dem übersetzen mit
gcc GHOST.c -o GHOST

kann das Binary mit
./GHOST

gestartet werden, die Ausgabe vulnerable bzw. not vulnerable ist selbstsprechend.