| ▲ | Microsoft mishandling example.com(tinyapps.org) |
| 201 points by mrled 7 hours ago | 72 comments |
| |
|
| ▲ | gruez 6 hours ago | parent | next [-] |
| >Microsoft's Autodiscover service misconfiguration can be confirmed via curl -v -u "email@example.com:password" "https://prod.autodetect.outlook.cloud.microsoft/autodetect/d...": Hold up, does this mean outlook sends your full credentials to Microsoft when you try to set up an outlook account? I'm sure they pinky promise they keep your credentials secure, but this feels like it breaks all sorts of security/privacy expectations. |
| |
| ▲ | dspillett 5 hours ago | parent | next [-] | | > Hold up, does this mean outlook sends your full credentials to Microsoft when you try to set up an outlook account? Not just an “outlook account” - any account in outlook, with default settings at least. I run a mail server, mainly for me but a couple of friends have accounts on there too, and a while ago one friend reported apparently being locked out and it turned out that it was due to them switching Outlook versions and it was connecting via a completely different address to those that my whitelists expected sometimes at times when they weren't even actively using Outlook. Not only were active connections due to their interactive activity being proxied, but the IMAP credentials were stored so the MS server could login to check things whenever it wanted (I assume the intended value-add there is being able to send new mail notifications on phones/desktops even when not actively using mail?). > but this feels like it breaks all sorts of security/privacy expectations. It most certainly does. The behaviour can be tamed somewhat, but (unless there have been recent changes) is fully enabled by default in newer Outlook variants. The above-mentioned friend migrated his mail to some other service in a huf as I refused to open my whitelist to “any old host run by MS” and he didn't want to dig in to how to return behaviour back to the previous “local connections only, not sending credentials off elsewhere where they might be stored”. | |
| ▲ | butvacuum 5 hours ago | parent | prev | next [-] | | Basically everything microsoft makes that touches http will send your username and your password to any server that asks for Basic Authentication. It looks like Microsoft Edge had the _ability to disable_ this added in 2020 or 2021, but it isn't currently the default and the Group Policy unintuitively only applies to unencrypted HTTP Connections. | | |
| ▲ | gruez 5 hours ago | parent [-] | | >Basically everything microsoft makes that touches http will send your username and your password to any server that asks for Basic Authentication. Are you talking about NTLM hashes? It's a weak hash, but not the same as "sending your password". The biggest difference is that even a weak hash can't be reversed if the password has high enough entropy. | | |
| ▲ | butvacuum 3 hours ago | parent | next [-] | | yes, I meant to type hash. Not that it matters as even 10yr old integrated GPUs are enough to brute force 8 or 9 character NTLM(or any variant) passwords in a few hours. Not that you need to with Pass The Hash. | |
| ▲ | lazide 4 hours ago | parent | prev [-] | | Not necessarily, the server can say it only supports basic auth and…. | | |
| ▲ | gruez 3 hours ago | parent [-] | | I don't think there's any evidence that windows sends cleartext passwords. The whole reason why NTLM is a thing is to avoid sending cleartext passwords. | | |
|
|
| |
| ▲ | brulx126 5 hours ago | parent | prev | next [-] | | Not just that, the new outlook app makes Microsoft a complete man-in-the-middle for your email account. https://www.xda-developers.com/privacy-implications-new-micr... | | |
| ▲ | kstrauser 17 minutes ago | parent | next [-] | | I am so glad people are finally noticing and complaining about this. It's the same reason I won't use Spark or Superhuman. Those are neat services, but I can't abide storing the creds to perhaps the most security-sensitive service I use to a cloud provider. If they get hacked, then the attacker can access my email account, send phishing emails to my contacts, read and respond to password reset requests they make to other online services, etc. It would be disastrous. No, I'll keep my credentials stored and used locally, thanks. | |
| ▲ | donmcronald 3 hours ago | parent | prev | next [-] | | They store passwords and proxy everything at the same time they’re pushing OAuth, authenticators, passkeys, etc. for their own services. Everyone should have revolted when they bought Acompli and started doing this kind of thing. | |
| ▲ | amluto 3 hours ago | parent | prev | next [-] | | This seems like it would completely break any attempt to track access from unauthorized users or devices — any IT department using a backend other than Microsoft’s would need to pretend that all access from MS’s servers is safe. | |
| ▲ | koakuma-chan 5 hours ago | parent | prev [-] | | And? Do you think Gmail is end to end encrypted? | | |
| ▲ | gruez 5 hours ago | parent | next [-] | | My bank isn't end to end encrypted either, but that doesn't mean it's suddenly ok for Microsoft (or any other company) to suddenly start MITMing my online banking connections. | |
| ▲ | brulx126 5 hours ago | parent | prev | next [-] | | I am talking about the fact that the new default email client on Windows will hand over all your email credentials to Microsoft. This has nothing to do with Gmail. | | | |
| ▲ | delfinom 4 hours ago | parent | prev | next [-] | | I think the concern is that it copies the emails of your non-Microsoft accounts that you added to the Outlook app, over to Microsoft servers | |
| ▲ | AlexandrB 5 hours ago | parent | prev [-] | | Adding a bunch of middlemen that also see the data increases the risk. |
|
| |
| ▲ | thedanbob 6 hours ago | parent | prev | next [-] | | It's more common than you might think. I know of at least one popular email client that stores your credentials on their servers to enable features like multi-account sync and scheduled sending. | | |
| ▲ | RajT88 5 hours ago | parent | next [-] | | I bought a hardware password manager a while back and the bulk load tool sent all your creds to a cloud service. I have not used it since, and sent the manufacturer a nasty note. It was the Ethernom Beamu, company now defunct. | |
| ▲ | spiffyk 5 hours ago | parent | prev | next [-] | | I would expect such a feature to use end-to-end encryption for the data, so that only the user can see the credentials. It does, right? Right? | | |
| ▲ | gruez 5 hours ago | parent [-] | | >>multi-account sync and scheduled sending >I would expect such a feature to use end-to-end encryption for the data How would "end-to-end encryption" when such features by definition require the server to have access to the credentials to perform the required operations? If by "end to end" you actually mean it's encrypted all the way to the server, that's just "encryption in transit". | | |
| ▲ | treyd 4 hours ago | parent [-] | | > If by "end to end" you actually mean it's encrypted all the way to the server, that's just "encryption in transit". This is what Zoom claimed was e2ee for a little while before getting in trouble for it. |
|
| |
| ▲ | tom1337 5 hours ago | parent | prev [-] | | Do you mean Spark? I get why they need to do it that way but I also hate that they have to do it that way because it sucks for privacy. |
| |
| ▲ | Neil44 3 hours ago | parent | prev | next [-] | | I think the curl -u switch just requires the password field to be filled, there obviously isn't a legit user account test@example.com with a password of password either at microsoft or at the Japanese imap server. | | |
| ▲ | gruez 3 hours ago | parent [-] | | >I think the curl -u switch just requires the password field to be filled Yeah you're right, if you don't specify the password (eg. -u user), it prompts you for it >there obviously isn't a legit user account test@example.com with a password of password either at microsoft or at the Japanese imap server. But presumably the fact it's there at all suggests it's a required parameter? Maybe "password" is just a placeholder, but it's unclear based on the command line transcript alone. |
| |
| ▲ | tga 5 hours ago | parent | prev | next [-] | | Most likely, and nobody cares. Already many years ago I remember installing a firewall on my phone and noticing in surprise that Outlook was not connecting at all to my private mail server, but instead only sending my credentials to their cloud and downloading messages from there. The only Android mail client not making random calls to cloud servers was (back then) K-9 Mail. | |
| ▲ | dec0dedab0de 5 hours ago | parent | prev | next [-] | | I think outlook is pretty much a saas product these days. | |
| ▲ | nhinck2 5 hours ago | parent | prev | next [-] | | Yeah since the Windows 11 2023h2 update. | |
| ▲ | 1718627440 4 hours ago | parent | prev [-] | | Always has been. |
|
|
| ▲ | GranPC 6 hours ago | parent | prev | next [-] |
| > Microsoft's Autodiscover service misconfiguration can be confirmed via curl -v -u "email@example.com:password" "https://prod.autodetect.outlook.cloud.microsoft/autodetect/d..." Wait, does their autodetect send email and password to their servers, instead of just domain??? |
| |
|
| ▲ | irusensei 6 hours ago | parent | prev | next [-] |
| Not surprised. They used to have training material incentivizing professionals to use .local as TLD for Active Directory realms. Thats a reserved domain for Multicast DNS. Working on Linux automation systems we would need to make sure to disable anything related to Avahi in our images otherwise name resolution would fail for some customers. |
| |
| ▲ | ndriscoll 6 hours ago | parent | next [-] | | Haven't they been telling people to do that since before it became reserved? If so, the problem is more that you can't "reserve" something that's already in wide use, and mdns should've used something like .mdns. It's like when .dev became a gTLD, knowingly breaking a bunch of setups for a mix of vanity and a cash grab. Obviously dropped the ball on the engineering side. | | |
| ▲ | WorldMaker 4 hours ago | parent [-] | | Seems more a reason to never use stuff you don't actually control and are reserved for future purposes. Everyone knew who was in charge of DNS TLDs and that while they were being at first conservative in how many they assigned, they reserved the right to assign as many as they wanted. But also, yes Microsoft documentation used .local before mDNS reserved it, and IIRC Microsoft was also involved in suggesting it for mDNS as mDNS came out of the multi-company standardization efforts from Apple's Bonjour. That said, my impression of most of that documentation from that time is that it was incorrectly using .local as a fake TLD where they should have been using .example or .example.com and also pointing people to the RFCs that those were not valid choices in a real setup. A problem with such documentation is that it is too easy to take literally. A follow up problem was sort of the "accidental security through obscurity" benefits of using non-globally resolvable addresses becomes "best practice" through essentially stubbornness and status quo (related to all the recent rediscussions on HN about NAT44 is not a firewall except by accident and you can have very good firewalls that aren't NAT44). |
| |
| ▲ | szszrk 6 hours ago | parent | prev | next [-] | | My company used .local for EVERYTHING. I took it as normal at the time, until I got into problems with VMWARE products. Support patiently explained .local is reserved for something else and kindly provided Wikipedia links. They never responded why they used .local in their docs, trainings, webinars they provided, though :) | | |
| ▲ | EvanAnderson 5 hours ago | parent | next [-] | | Things from docs making it into production is insidious. There were some early Sun docs that referenced a 129.9.0.0/16 network. Some helpful contractor in my locality, specializing in local government work, configured several police, fire, and city governments with that subnet internally back in the 90s. A few of them are still running that way today. I remember running into some oddball behavior with the Teredo adapter in Windows 7 that I traced back to it behaving differently because the PC's IP address didn't fall into RFC1918 space. | | |
| ▲ | somat 2 hours ago | parent [-] | | Makes me remember the 192.1 addresses that were all over at one place I worked. "Um you know that is a valid internet address right?" "Yeah, but the guy who originally set the systems up was confused about the private address space, used the wrong one and we don't want to break anything so are not going to change it" Good times. |
| |
| ▲ | PcChip 5 hours ago | parent | prev | next [-] | | I’ve worked with hundreds of customers that use .local internal domains and vmware, what issues are you describing? | |
| ▲ | irusensei 6 hours ago | parent | prev [-] | | My impression is that Ballmer IE6 era Microsoft didn't gave a shit about standards. | | |
| |
| ▲ | p_ing 5 hours ago | parent | prev [-] | | Usage of .local for AD predated mDNS. That advice stopped with the advent of mDNS in favor of 'corp.<registered_domain>.<tld>'. | | |
| ▲ | EvanAnderson 5 hours ago | parent [-] | | The original Windows 2000 guidance for AD was corp.example.com, from my recollection. The silly .local thing (which does predate mDNS) happened as a result of the Small Business Server refresh for Active Directory. |
|
|
|
| ▲ | emmelaich 3 hours ago | parent | prev | next [-] |
| > The domain has a null MX record (indicating it doesn't accept email) Not quite true, SMTP will use the A record if there is no MX. |
| |
| ▲ | dpifke an hour ago | parent [-] | | In this case, "null MX record" means MX exists, but does not specify a valid server: $ host -t mx example.com
example.com mail is handled by 0 .
Senders should not fall back on the A record in this case. |
|
|
| ▲ | Thaxll 6 hours ago | parent | prev | next [-] |
| Where does sei.co.jp comes from? Why Microsoft would use that domain in the first place? |
| |
| ▲ | Daviey 6 hours ago | parent | next [-] | | I'm willing to bet they were the first user to try and add example.com to their Outlook account, and MS then just assigned it to them without verifying they own the domain. | |
| ▲ | irusensei 6 hours ago | parent | prev [-] | | It's not really the domain but the registration in the MS Office Cloud. If you query who owns example.com mail you get that company. |
|
|
| ▲ | philo23 3 hours ago | parent | prev | next [-] |
| Just a guess but why do I get the feeling it’s because someone who setup sei.co.jp in Azure Entra (aka Azure AD) some how managed to add/claim the domain “example.com” against their companies tenant. It’s clearly not using the DNS records for discovery because they don’t exist, the only other option I can see is some weird fall through or hard coded value and it seems like an odd one to pick. |
|
| ▲ | andreldm 6 hours ago | parent | prev | next [-] |
| That’s why example.com states “Avoid use in operations”, not only that could create unnecessary traffic for them as well as leak information as in situations like this. |
| |
| ▲ | charles_f 3 hours ago | parent [-] | | Yeah, it feels more like a safety net than something you should purposefully use |
|
|
| ▲ | binaryturtle 6 hours ago | parent | prev | next [-] |
| Why do you need to send a password when using their Autodiscover API? Would Outlook send the respective passwords for each email account to Microsoft? |
| |
| ▲ | philipwhiuk 5 hours ago | parent | next [-] | | I suspect they try to login and reverse engineer the IMAP config. | |
| ▲ | Neil44 3 hours ago | parent | prev [-] | | curl -u just requires the field to be there, I suspect. No authentication takes place. You can send any password and the output doesn't change. |
|
|
| ▲ | hu3 6 hours ago | parent | prev | next [-] |
| This is why I never use these IANA-reserved domains like .test, .example, .invalid, .localhost. I always make up some impossible domains like domain.tmptest Otherwise you're one DNS "misconfiguration" away from sending dev logs and auth tokens to some random server. > Since at least February 2020, Microsoft's Autodiscover service has incorrectly routed the IANA-reserved example.com to Sumitomo Electric Industries' mail servers at sei.co.jp, potentially sending test credentials there. |
| |
| ▲ | tialaramex 5 hours ago | parent | next [-] | | It so happens that in this very specific case your obviously bad choice didn't make anything worse, that doesn't make it a good choice. "Aha, the defective trucks only cause injuries to people who have their hands on the wheel at highway speeds, but I've never bothered holding the wheel at high speed, I just YOLO so I wouldn't be affected" If people had used IANA's reserved TLDs they too would be unaffected because although Windows will stupidly try to talk to for example autodiscover.example that can't exist by policy and so the attempt will always fail. | |
| ▲ | dc396 3 hours ago | parent | prev | next [-] | | As others have pointed out, using 'tmptest' works until someone buys tmptest -- unlikely, but people will buy anything these days. I always use the ISO-3166 "user-assigned" 2-letter codes (AA, QM-QZ, XA-XZ, ZZ), with the theory being that ISO-3166 Maintenance Agency getting international consensus to move those codes back to regular country codes will take longer than the heat death of the universe, so using them for internal domains is probably safe. | |
| ▲ | jsheard 6 hours ago | parent | prev | next [-] | | It's all fun and games until Donuts buys .tmptest for some reason. | |
| ▲ | Cthulhu_ 5 hours ago | parent | prev | next [-] | | Would that really make a difference in this case? It's a configuration error / bug in Microsoft's discovery server, they could have a fallback that goes "any unknown address, return this .jp address". | |
| ▲ | whizzter 6 hours ago | parent | prev | next [-] | | .example is probably far safer than example.com. https://www.akamai.com/blog/security/autodiscovering-the-gre... According to it, it seems that if someone registers autodiscover.com then example.com lacking autodiscover.example.com will make Outlook try checking if autodiscover.com has an entry. It's just a braindead system. | |
| ▲ | larrik 4 hours ago | parent | prev | next [-] | | And then you fire off 100k emails, they all bounce, and your mail service shuts you off... | |
| ▲ | wongarsu 6 hours ago | parent | prev [-] | | brb, just filing paperwork to apply for the .tmptest gTLD /s | | |
| ▲ | ThePowerOfFuet 5 hours ago | parent | next [-] | | $100K | | |
| ▲ | thequux 5 hours ago | parent [-] | | $227k just to apply, and another few hundred thousand in legal, compliance, and contracting to reach delegation. Source: I'm on the board of dotMeow and wrote the financial plan |
| |
| ▲ | lagniappe 6 hours ago | parent | prev [-] | | I suspect you'd download a car. |
|
|
|
| ▲ | onionisafruit 5 hours ago | parent | prev | next [-] |
| I gather this has little to do with “example.com” and more to do with any domain that doesn’t have an autodiscover subdomain. |
|
| ▲ | 1vuio0pswjnm7 43 minutes ago | parent | prev | next [-] |
| Now that example.com is hidden behind Cloudflare, how does the public know who is controlling the origin servers The IPv4 for example.com used to be 93.184.216.34 Was there an announcement somewhere |
|
| ▲ | butz 5 hours ago | parent | prev | next [-] |
| Nice to see tinyapps.org is still alive. |
|
| ▲ | godzillabrennus 6 hours ago | parent | prev | next [-] |
| This is the same company that mishandled the Office brand (abandoned it) and is mishandling the Xbox brand (what even is an Xbox anymore?). Are we surprised? |
|
| ▲ | rurban 6 hours ago | parent | prev [-] |
| NSA probably. Gives them plausible deniability. Maybe some of their targets did use example.com for some probing, and the NSA had a hand in Sumitomo Electric Industries' mail server. |
| |