bash Segfault durch unendliche Rekursion
Mir ist gerade aufgefallen, dass das, was bash
ich verwende (4.2.25 (1)), nicht vor einer unendlichen Funktionsrekursion geschützt ist. In einem solchen Fall tritt ein Segfault auf (und der bash
Prozess wird beendet). Um dies auf Ihrem zu überprüfen bash
, geben Sie einfach Folgendes ein:
$ bash $ f() { f; } $ f
(Wenn Sie zuerst eine Subshell (die erste Zeile) beginnen, erhalten Sie einen Kandidaten, mit dem Sie experimentieren können, ohne die Hülle des Terminals zu gefährden. Ohne die erste Zeile wird Ihr Terminalfenster wahrscheinlich so schnell geschlossen, dass Sie nichts Interessantes sehen.)
Ich verstehe den Grund dieses Phänomens, denke ich. Es ist wahrscheinlich ein Stapelüberlauf, der dazu führt, dass bash
versucht wird, in Bereiche des Speichers zu schreiben, die nicht seinem Prozess zugeordnet sind.
Worüber ich mich wundere, sind zwei Dinge:
Sollte es nicht einen Check in geben
bash
, um es vor solchen Situationen zu schützen? Eine anständigere Fehlermeldung wie "Stack Overflow in Shell function" wäre sicherlich besser als ein einfacher, nicht hilfreicher Segfault.Könnte dies eine Sicherheitslücke sein? Bevor diese Methode in Speicherbereiche schreibt, die nicht dem Prozess zugeordnet sind (was zu einem Segfault führt), werden möglicherweise andere Teile überschrieben, die nicht für den
bash
internen Stack gedacht sind.
0 Antworten auf die Frage
Verwandte Probleme
-
4
Welche Software sollte ich verwenden, um meine Festplatte zu verschlüsseln?
-
2
Erinnert sich Windows 7 Home Premium an Netzwerkfreigaben-Passwörter?
-
3
Kann die vorhandene drahtlose Netzwerkverschlüsselung ein Netzwerk wirklich schützen?
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
2
Welche Sicherheitsprobleme hat ein Computer, der direkt an ein Modem angeschlossen ist?
-
2
Wie kann ich mein drahtloses Netzwerk für höchste Sicherheit konfigurieren?
-
2
Wie kann ich meinen Computer am besten vor Viren und Bildschirmlesern schützen?
-
2
Sicherung meines drahtlosen Netzwerks
-
1
Wie kann ich die Sicherheit meines Portals erhöhen?
-
2
RootKit Hunter-Warnungen unter Mac OS X