# Security: CVE 20160728

## ChrisJumper

Euer Kernel braucht wahrscheinlich ein Update.

http://www.heise.de/newsticker/meldung/Root-Exploit-Android-und-Linux-anfaellig-fuer-Rechte-Trickserei-3076663.html

Nur falls ihr das noch nicht gelesen habt, handelt. Also wenn dann mal ein Patch da ist. Eventuell kann man sich die Teile bei Debian/Red-Hat mopsen und vor dem offiziellen Kernel-Update schon mal kompilieren.

https://bugs.gentoo.org/show_bug.cgi?id=572384

Der Exploit braucht natürlich auch ziemlich lange bis er die Bestätigung raus gibt.

Grüße

----------

## ChrisJumper

Teste gerade den Fix den Mowgli aus dem Hesie Forum raus gesucht hat.

Edit: Dies ist dessen Quelle

```
Reported-by: Yevgeny Pats <yevgeny@perception-point.io>

Signed-off-by: David Howells <dhowells@redhat.com>

---

 security/keys/process_keys.c | 1 +

 1 file changed, 1 insertion(+)

diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c

index a3f85d2..e6d50172 100644

--- a/security/keys/process_keys.c

+++ b/security/keys/process_keys.c

@@ -794,6 +794,7 @@ long join_session_keyring(const char *name)

  ret = PTR_ERR(keyring);

  goto error2;

  } else if (keyring == new->session_keyring) {

+ key_put(keyring);

  ret = 0;

  goto error2;

  }

-- 

2.7.0.rc3
```

Hier ist der Red Hat Bug dazu.

Also wirklich sicher ob das Hilft bin ich mir gerade nicht. Entweder der Exploit hatte vorher schon nicht funktioniert bei mir, oder auch nach dem Fix ist das Ergebnis noch gleich. Wobei im Red Hat Report auch davon berichtet wird das es unterschiedliche Exploits gibt, einer der immer zwei Iterationsstufen nimmt und einen der jeweils nur eine nimmt. Der von mir getestete Exploit ist der von perception point, nicht jener welcher dem Debian-Fix Anhing.

```
./cve_2016_0728 PP_KEY

uid=1000, euid=1000

Increfing...

finished increfing

forking...

finished forking

caling revoke...

uid=1000, euid=1000

sh-4.3$ cat /proc/keys 

20f275bc IR-Q---    73 expd 3f3f3f3f  1000   100 keyring   PP_KEY: empty
```

Aber ich ab auch "PP_Key" verwendet, weil das in den Source-Codes stand, das Beispiel aus dem Blog verwendet "PP1", eventuell ist das mein Problem. Mal schauen was der Test morgen sagt.

----------

## py-ro

Der Fix ist schon seit gestern auch im Kernel git tree, Panik ist auch nicht wirklich angebracht.

----------

## ChrisJumper

Panik ist der Falsche Begriff. Zudem muss der Exploit auf langsamen Systemen relativ lange laufen. Aber jetzt mache ich mir halt noch sorgen um diverse Router. Ich habe halt immer gern wenn ich die Quelle anschauen kann vor dem kompilieren um mich zu vergewissern.

Dieses Problem ist halt immer wieder gut um wach zu rütteln, wo läuft bei uns Linux und hat das schon ein update. Openwrt und Ddwrt... Patchen Provider ihre Zwangsrouter etc...?

Habe das hier nur geposted weil ich dachte das vielleicht sonst noch jemand im Wochenrhythmus patches und den kernell mal monatlich.. Wenn es von newsticken schon verschwunden ist.

----------

## py-ro

Bei Routern muss es dann aber auch erstmal eine andere Lücke geben wodurch überhaupt ein Programm hochgeladen und gestartet werden kann. Von daher ist das wirklich eher relativ zu sehen.

----------

## firefly

Und zusätzlich muss der Router einen kernel 3.8.0 oder neuer verwenden.

Denn nur ab Version 3.8.0 ist dieser Fehler vorhanden.

----------

## ChrisJumper

Ja das stimmt und der Punkt ist bei mir oft nicht gegeben, weder bei den Routern noch bei den Mobiltelefonen. Die haben alle noch kleinere Versionen. Somit alles in Ordnung.

----------

## schmidicom

@ChrisJumper

Hast du es eigentlich inzwischen geschafft diese Rechteausweitung erfolgreich umzusetzen?

Selbst wenn die Lücke vorhanden ist bezweifle ich das diese in jedem Fall auch ausnutzbar ist, denn bereits im Artikel von Heise wird erwähnt das verschiedene Schutzmechanismen (Hardware und Software) die Ausnutzung erschweren oder sogar verunmöglichen können. Und als ich das letzte mal einen Kernel konfigurierte fand ich darin auch etliche Dinge (CONFIG_CC_STACKPROTECTOR oder auch CONFIG_KASAN) welche wohl darauf abzielten solche Bugs abzufangen.

Aber wenn ich mich dabei irren sollte lasse ich mich auch gerne korrigieren.

----------

## firefly

 *ChrisJumper wrote:*   

> Ja das stimmt und der Punkt ist bei mir oft nicht gegeben, weder bei den Routern noch bei den Mobiltelefonen. Die haben alle noch kleinere Versionen. Somit alles in Ordnung.

 

Wobei man aufpassen muss. Es kann gut sein, dass der Hersteller der Firmware einen kernel < 3.8 einsetzt bei dem features von neueren kernel zurück portiert wurden. Unter anderem auch das Feature/Änderung, welche den Fehler besitzt.

Anscheinend sind dadurch ein großteil der Android installationen betroffen auch wenn diese oft einen 3.4er kernel (von der versionsnummer her) einsetzen.

----------

## ChrisJumper

 *schmidicom wrote:*   

> @ChrisJumper
> 
> Hast du es eigentlich inzwischen geschafft diese Rechteausweitung erfolgreich umzusetzen?
> 
> 

 

 *Quote:*   

> ./cve_2016_0728 PP_KEY
> 
> uid=1000, euid=1000
> 
> Increfing...
> ...

 

Danach hatte ich es halt nicht mehr versucht. Diese Ausgabe von /proc/keys wollte ich auch nicht mehr nachprüfen muss ich gestehen. In den Beispielen steht da halt dann sowas:

 *Quote:*   

> 20f275bc IR-Q---    73 expd 3f3f3f3f  0   0 keyring   PP_KEY: empty

 

Demnach hätte es bei mir ja nicht geklappt. Ich deutete das 3f3f3f aber schon so als sei die entsprechende Stelle überschrieben worden, weil 3f ja A ergibt, demnach wurde da zumindest das Ablaufdatum (?) "expd" überschrieben.

Mir lief das ganze zu lange bis das Ergebnis da ist, daher war ich ehrlich gesagt etwas zu faul.

----------

