A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.
Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.
Subcommunities on Beehaw:
This community’s icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
Seems like a TCP/IP stack issue rather than a browser issue… 0.0.0.0 is not supposed to be a valid address (in fact, no IPv4 address with
0
as the first octet is a valid destination IP). The network stack should be dropping those packets.0.0.0.0
is only valid in a few use cases. When listening for connections, it means “listen on all IPs”. This is a placeholder that the OS handles - it doesn’t literally use that IP. Also, it’s used as the source address for packets where the system doesn’t have an IP yet (eg for DHCP). That’s it.Yeah, I just did a quick test in Python to do a tcp connection to “0.0.0.0” and it made a loopback connection, instead of returning an error as I would have expected.
I’m inclined to agree. This looks like a misunderstanding of RFC 5735.
From that RFC:
(note that it only says “source address”)
which was based on RFC 1122, which states:
(section 3.3.6 just talks about it being a legacy IP for broadcasts - I don’t think that even works any more)
Okay, I see where I went wrong. Thank you.
I don’t think 0.0.0.0 works for broadcasts anymore, either - I think those get filtered by default these days.
I wasn’t disagreeing with you :) or at least I think I wasn’t. I was just quoting the RFC you linked to.
While I agree, it makes connecting to localhost as easy as
http://0:8080/
(for port 8080, but omit for port 80).I worry that changing this will cause more CVEs like the octal IP addresses incident.
Edit: looks like it’s only being blocked for outgoing requests from websites, which seems like it’ll have a much more reasonable impact.
Edit 2: skimming through these PRs, at least for WebKit, I don’t see tests for shorthand IPs like
0
(and no Apple device to test with). What are the chances they missed those…?The thing is that it’s not supposed to work, so it’s essentially relying on undefined behaviour. Typing
[::1]:8080
is nearly as easy.I haven’t seen the PRs, but IP comparison should really be using the binary form of the IPv4 address (a 32-bit number), not the human-friendly form.
Yes! Another huge win for links2gang !links2@lemmy.sdf.org
hunter2 Wow it works!
Welp, I guess sandboxing a browser that has a sandbox might still be a good idea
The article literally doesn’t explain the vulnerability at all.
It keeps promising to, then goes off into more ChatGPT-style rambling. It’s a bad article. This one is more informative:
https://www.oligo.security/blog/0-0-0-0-day-exploiting-localhost-apis-from-the-browser
notably
quoting the main, critical part:
I ended up reading it on bleeping computer since the linked site looks like an auto tldr bot saved 50% of the words. The important 50% was discarded.
https://www.bleepingcomputer.com/news/security/18-year-old-security-flaw-in-firefox-and-chrome-exploited-in-attacks/
Everybody who could explain it well is at Hacker Summer Camp right now.
I didn’t realize DEFCON was this weekend already, but this is a solid point 😂