Christopher Lemmer Webber is a user on octodon.social. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.
Christopher Lemmer Webber @cwebber

@joeyh posted about two security vulnerabilities he uncovered joeyh.name/blog/entry/two_secu

Notably the ActivityPub appendix warns about these kinds of security vulnerabilities: don't fetch from uri schemes you don't know (be sure your http lib doesn't accept file://) and don't fetch from localhost (though sadly it's hard not to do this one... "localhost-only" is mostly doomed).

But Joey's post also points out that even if you filter out the scheme and localhost yourself, redirects may bite you

· Web · 5 · 4

@joeyh If you're an ActivityPub implementor, you should *make sure your software is not vulnerable to these kinds of attacks*. The redirect one is especially tricky.

@cwebber localhost only is not good enough, and the full IP blacklist is quite hard (especially considering IPV6, 4-in-6 etc).

Remember the guy who made his garage door respond to GET requests..

@joeyh once again the ocap people are right that "perimeter security is eggshell security"

(This is also why CORS is a failed security model)

@cwebber btw you had some late-nite toots a while ago that got me thinking about this again

@cwebber I was not sure how to really fit that credit in, but thanks for that

@joeyh oh really? Was it the one about bumping into Racket's http lib grabbing stuff from file:// by default? I was wondering if maybe you saw that and it influenced this but figured it was unlikely!

@cwebber @joeyh hm I never looked into if dns rebinding attacks apply to activitypub implementations, those type of attacks seem to be in vogue these days

@szbalint @joeyh not sure if you saw the Guile vulnerability that we uncovered a while ago where live hacking sessions listening on localhost were vulnerable to confused deputy attacks through browsers and etc (notably, also activitypub instances that don't heed this advice) that allowed arbitrary code execution lists.gnu.org/archive/html/gui

localhost-only ain't