Live data from Hacker News

Glibc getaddrinfo stack-based buffer overflow

googleonlinesecurity.blogspot.com

191–200 of 480 posts

Re: Glibc getaddrinfo stack-based buffer overflow

#191
It seems tcp_wrappers-libs is using getaddrinfo, so if you have some rules setup there that may be an attack vector. I'm not sure if sshd will want to do a getaddrinfo if you don't have some tcp wrappers rule set up in /etc/hosts.{deny,allow}.

Re: Glibc getaddrinfo stack-based buffer overflow

#192
post #72
post #62

Earlier quoted context omitted.

[deleted]

Yes, UNIX was adopted by the corporations and brought C with it. Some people don't get it that before it happened we were happily using other systems programming languages way safer than C.

>Some people don't get it that before it happened we were happily using other systems programming languages way safer than C.

Maybe some people, but most systems programming was done is Assembly before C.

Re: Glibc getaddrinfo stack-based buffer overflow

#193

Earlier quoted context omitted.

Every engineering decision has costs as well as benefits. It's the same reason soldiers only wear heavy armour in the centre of their chests and backs. Why don't we armour the rest? Because the cost outweighs the benefits ... and the tooling (i.e. medevac and modern medicine) makes up for the deficits.

> Every engineering decision has costs as well as benefits. Can you elaborate, in detail, what the costs of memory safety are?

At the very least: the cost of rewriting, re-testing, and re-deploying systems in a memory-safe language.

The cost of realizing half-way through adoption that there are things that you need to do, used to be able to do, but cannot do in the new language.

Re: Glibc getaddrinfo stack-based buffer overflow

#194
post #88

Earlier quoted context omitted.

C++ is not reasonable if your goal is to avoid memory safety bugs.

Neither is Rust, which comes with a huge RTS that itself likely full of such bugs. The library and the compiler too may have bugs that compromise the "guaranteed" memory safety of a libc written in Rust. There is no silver bullet here. If one takes into account all the sources of bugs, C may very well be the best choice given its maturity and its ecosystem. Our best bet is likely to put more resources towards glibc d…

Rust does not really have an RTS per se. libstd is just a standard library.

Also, even if rustc has soundness bugs, you won't find them if you don't look for them, and even then, just trying to make your program fit the types will prevent most bugs.

By the way, glibc's code is too horrible to be read - musl is a more modern alternative.

Re: Glibc getaddrinfo stack-based buffer overflow

#195
post #116

Earlier quoted context omitted.

>Patch ASAP What exactly do you patch? Say you have a TCP server, written in Python or in Go. Do you have to update Python and Go ASAP then and recompile the Go server? Custom compiled Apache, Nginx? Recompile those? That's a lot of work..

Unless you are linking statically (and I don't really understand why you would) you update glibc and that's it. This question had me feeling kind of old. Does nobody learn what shared libraries are anymore?

Go?

Re: Glibc getaddrinfo stack-based buffer overflow

#196
post #183
post #156

Earlier quoted context omitted.

Ubuntu - http://people.canonical.com/~ubuntu-security/cve/2015/CVE-20...

Just out of interest: How is this classified medium by Ubuntu? If someone manages to bypass ASLR this is a remote exploit on every SSH server running glibc out there? Or did I misunderstood something? Out of the box SSH seems to use getaddrinfo: reverse mapping checking getaddrinfo for [ ] failed - POSSIBLE BREAK-IN ATTEMPT!

Refresh the page. It was just updated

> Priority: High

Re: Glibc getaddrinfo stack-based buffer overflow

#197

Earlier quoted context omitted.

> Every engineering decision has costs as well as benefits. Can you elaborate, in detail, what the costs of memory safety are?

At the very least: the cost of rewriting, re-testing, and re-deploying systems in a memory-safe language. The cost of realizing half-way through adoption that there are things that you need to do, used to be able to do, but cannot do in the new language.

> At the very least: the cost of rewriting, re-testing, and re-deploying systems in a memory-safe language.

True. In most cases, this is completely outweighed by the benefit of not having these kinds of security vulnerabilities, as well as the other benefits that come with safety.

> The cost of realizing half-way through adoption that there are things that you need to do, used to be able to do, but cannot do in the new language.

Can you explain exactly you cannot do with Rust?

Re: Glibc getaddrinfo stack-based buffer overflow

#198
post #82

[flagged]

Remote code execution occurs in one of exactly two ways. - eval/exec() of untrusted turing-complete code - memory unsafety There are strange machines and logic vulnerabilities, which as you're aware are pitfalls present in all languages, and can be very subtle. But these are not the same as executing arbitrary operations with all the privileges of the process. This is something we can end today, and Rust would suffic…

Rust code exposing a C ABI (e.g. as a slot-in replacement for an existing C library) behaves like any other upgradable shared library.

Re: Glibc getaddrinfo stack-based buffer overflow

#199
post #72
post #62

Earlier quoted context omitted.

[deleted]

Yes, UNIX was adopted by the corporations and brought C with it. Some people don't get it that before it happened we were happily using other systems programming languages way safer than C.

In general, adoption of UNIX has managed to convince a lot of smart people to believe something as absurdly sounding as "worse is better".

(I'm only half-sarcastic here.)

Re: Glibc getaddrinfo stack-based buffer overflow

#200

[flagged]

> Languages like Ruby have had their host of ridiculous security errors. > Fuck Rust and you naive and self-serving evangelists. Come back to me in 20 years with what you've learned. This might be a cogent criticism (although a pointlessly mean one) if we hadn't started the Rust project with an analysis of precisely what the contents of our security bugs consist of, and designed the project to target those.

Fair enough. Obviously my emotional venting is not the strong part of my argument.

I love this safe world where we don't have to fear our neighbours, but I hate this safe world where I can't verbally punch someone in the face.

I need blood sport.

Post reply on HN