The report I filed (designated "VULN-135913") has now received a response from MSRC. Quote of their response in its entirety:
Subject: RE: Other - Memory corruption bug in the Teams app for Android that is revealed by MTE usage on GrapheneOS VULN-135913 CRM:0104000273
Hello,
Thank you for contacting the Microsoft Security Response Center (MSRC). We appreciate the time you have taken to submit this report to help protect our customers.
To investigate your report, we require a valid proof of concept (PoC), ideally with attached images or video showing your vulnerability. Since we have not heard from you, we will need to close this report.
If you decide to send us a new report, please include:
Name of the product and a description of the vulnerability
Detailed steps on how to consistently reproduce the issue
Short explanation on how an attacker could use the issue/information to exploit another user remotely
Proof-of-concept (PoC), such as a video recording, crash reports, screenshots, or relevant code samples
For more information on how to submit actionable reports, please see:
Thank you for your submission, and we look forward to seeing more reports from you in the future!
Regards,
MSRC
Needless to say I feel pretty disappointed. My report was of course not one made by a security researcher, and it is likely obvious to those reading it that it's submitted by an amateur. But I do genuinely feel that I included enough information for them to be able to easily reproduce the memory safety issue – given they have the right equipment. I spent at least an hour in double-checking the instructions I provided, and in phrasing the report as clearly as I could manage within the limits of my knowledge of English.
Microsoft can highly likely reproduce the issue with memory tagging running on the stock PixelOS as well (Arm has published an official guide on how to do this), because it was equally reproducible on GrapheneOS when Teams was being run with hardened_malloc disabled but memory tagging enabled. How that latter point works is explained here, as part of a GrapheneOS developer describing GrapheneOS' implementation of MTE: https://github.com/mullvad/mullvadvpn-app/issues/6349#issuecomment-2381665133
Quite clearly it looks like I received a canned response from MSRC, which might not be the fault of the reviewer of the report (perhaps they are obliged to make sure that any security report contains specific points of information before they are allowed to start an investigation into it), but it still feels disappointing to me that Microsoft appears to disregard reports of memory corruption even when it's made clear to them that the bug was discovered because their app was being run with a seemingly a industry-accepted method of detecting memory vulnerabilities (MTE).
I know this issue has been present in Teams for Android for months – while I no longer have the crash logs back then to prove it, there have at least been one report of this a few months ago by another community member (although admittedly that might not be considered sufficient evidence for any potential investigator looking into the history of when the bug was first present in the software). If I remember correctly, that user also said that they reported the issue to Microsoft through the Teams app's Feedback feature, but that they had not received a response.
I'll consider what to do about this further, but I'm not giving up on it.
For clarity, and so readers can make up their own minds about my report, here is a quote of the full report I submitted to MSRC (except for the backtrace that I also attached) – MSRC doesn't seem to have an export system for filed tickets, so this is copy-pasted from the report (I edited some of the formatting so that it displays better in this forum):
Memory corruption bug in the Teams app for Android that is revealed by MTE usage on GrapheneOS
VULN-135913
Description
When being run with ARMv9 hardware memory tagging on a Pixel 8 device with GrapheneOS, memory tagging detects an issue in the Teams app for Android and crashes it. This can be reproduced by signing in to the Teams app with a Microsoft account, and also by opening the app when it is already signed in to an account.
Consequentially, and noting that memory tagging extension (MTE) does not report false positives, this means there is a potentially exploitable memory safety issue within the Teams app.
When the below steps to reproduce are followed, the issue can be reproduced every time.
The attached text file contains the full backtrace that is reported when the app is crashed by MTE usage on GrapheneOS. While the backtrace is potentially useless in itself, and I am not an engineer and not capable of providing you with a detailed issue log, the below steps to reproduce ought to be enough for an engineer to reproduce the issue with debug symbols.
Kindly note that I do not have a "Proposed attack scenario" here (but the submission form obliged me to select one).
Description
Reproduction steps
Device used to produce the crash: Google Pixel 8
OS used to produce the crash: GrapheneOS version 2024091900
Obtain a Google Pixel device that has hardware support for memory tagging – currently Pixel 8 and Pixel 9 series devices support this
Flash GrapheneOS onto the Pixel device by following the operating system's install instructions: https://grapheneos.org/install/
Boot the device and go through the GrapheneOS setup wizard (the settings of which are irrelevant here)
Go to the Settings app → Security & privacy → Exploit protection → Memory tagging, and select "Enable by default"
Go to App Store → Google Play services → select "Install" and approve the install prompts
After the install has finished, go to Play Store, sign in with a Google account and install Microsoft Teams
Open the Teams app, select "Get started", enter the email of a Microsoft account and select "Next"
Complete the sign-in process
Observe that memory tagging crashes the app a few seconds after the sign-in process has completed
Open the app again and observe the same crash
Note: When I submitted their form I did specify the version of the Teams app that I tested on, but that was not included in the report summary that was generated after I submitted it. I also removed my email address from the above quote (I submitted the report in my name) to avoid it getting abused by spammers that are looking at this thread.