▲ | SkiFire13 5 days ago | ||||||||||||||||||||||||||||||||||||||||
The segfault seen here is not a property of the language implementation, it's just a consequence of the address chosen by the attacker: 42. If you replicated this code in C you would get the same result, and if you used an address pointing to mapped memory in Go then the program would continue executing like in similar exploits in C. The only reason this isn't a more critical issue is because data races are hard to exploit and there aren't lot of concurrent Go programs/system libraries that accept lot of attacker controlled inputs. | |||||||||||||||||||||||||||||||||||||||||
▲ | uecker 4 days ago | parent [-] | ||||||||||||||||||||||||||||||||||||||||
Whether you can a segfault if you access an out-of-bounds address or not is part of the language implementation. An implementation that guarantees a segfault for out-of-bounds accesses is memory safe. | |||||||||||||||||||||||||||||||||||||||||
|