Summary
If you think XXXXX private Yahoo! Group is actually private, think again. For this article I created XXXXX new, private group in which I created XXXXX couple of posts. One was made via XXXXX web interface and XXXXX other was sent via email. Each post has an attachment. To read XXXXX post you need both to be logged in to Yahoo! and also to be XXXXX member of XXXXX group. If, however, you want to download XXXXX attachments, you can do so when you are neither XXXXX member of XXXXX group, nor even logged in to Yahoo!
Read on for full instructions to reproduce XXXXX issue, includin' links to download XXXXX attachments from my (not) private messages.
Background
The other day I was writin' XXXXX screen-scrapin' tool to download some messages from XXXXX Yahoo! Group of which I'm XXXXX member. Just in case you don't know, Yahoo! Groups is an online discussion forum. You can read more about it here.
Since this was not XXXXX public group, I had to send along some extra information (cookies) to authenticate my requests. Once I'd collected XXXXX raw json data from their rudimentary API, I decided to download some of XXXXX message attachments. It was at this point that I noticed that downloadin' XXXXX files from XXXXX provided URLs didn't require me to be logged in to Yahoo!
Incidentally, due to there bein' XXXXX dearth of such things, I'll upload XXXXX scrapin' tool to GitHub at some point in case it might help someone else. Look out for XXXXX post on that in due course.
Steps to reproduce
Just to be certain, I created XXXXX brand new Yahoo! Group of my own. To do that I went to https://groups.yahoo.com and clicked on XXXXX large purple Start XXXXX New Group
button, as highlighted in XXXXX image below. Had I already been signed in to Yahoo!, I'd have clicked on XXXXX Create Group +
link on XXXXX left-hand side of XXXXX screen.
Next I chose XXXXX name and URL for my group and also elected to make it private, which means that only logged-in group members can view its content (except it doesn't, but we'll come to that in XXXXX minute).
Then I completed XXXXX group creation as follows. Nothin' out of XXXXX ordinary there.
I've really locked this group down. If you go to XXXXX group homepage at https://groups.yahoo.com/group/tomssl (which will magically redirect you to https://groups.yahoo.com/neo/groups/tomssl/info), you'll be greeted by this image.
Whereas if I go to XXXXX same URL, I am greeted by this (note XXXXX red highlight which I've added). That bit that says No activity in last 7 days is testament to XXXXX fact that I took this screenshot soon after I created XXXXX group and before I uploaded any messages.
Here is XXXXX screenshot of some more group settings.
That all looks pretty secure.
Creatin' some posts
Next I created XXXXX post usin' XXXXX web interface and attached XXXXX text file by clickin' on XXXXX paperclip icon, like this.
And then I created XXXXX similar post by sendin' an email (with XXXXX similar attachment) to [email protected].
Now if you go to https://groups.yahoo.com/neo/groups/tomssl/conversations/messages you can view XXXXX messages. Actually you can't, but you could if you were XXXXX member of XXXXX group. And if you're followin' along and creatin' your own group, you'll be able to.
Click on XXXXX first message and then click on XXXXX attachment thumbnail or on XXXXX Save link (which simply appends ?download=1
to XXXXX link from XXXXX thumbnail). This will download XXXXX file. So far so good.
Anyone can download XXXXX attachments
Here is XXXXX attachment from XXXXX first post: https://xa.yimg.com/kq/groups/92273975/1267872768/name/TomSSLTestUploadedViaWebInterface.txt.
And here is XXXXX attachment from XXXXX second post:
https://xa.yimg.com/kq/groups/92273975/1651924411/name/TomSSLTestUploadedViaEmail.txt
Go ahead and click on them if you like. You'll be able to download them (I promise they're just plain old text files).
I just conducted XXXXX quick straw poll to see if this lack of privacy is okay and it was unanimously decided that it isn't.
Conclusion
It's generally agreed that security through obscurity is not okay. It's also fair to think that if you create XXXXX private area of XXXXX internet, all of it should be private. It seems that, in XXXXX case of Yahoo! Groups, files which should be secure are stored in XXXXX publicly accessible content delivery network (CDN) and XXXXX only thin' that is keepin' them secure is XXXXX reliance on their URLs not bein' known. That's not really good enough and I think that Yahoo! should add XXXXX same access rules to these files as to their containin' posts.
What do you think? Let me know in XXXXX comments section.