{"id":3332,"date":"2025-05-30T15:32:32","date_gmt":"2025-05-30T14:32:32","guid":{"rendered":"https:\/\/aegislens.com\/home\/?p=3332"},"modified":"2025-05-30T15:32:54","modified_gmt":"2025-05-30T14:32:54","slug":"onedrive-file-picker-vulnerability-oauth-over-permission-and-full-drive-access","status":"publish","type":"post","link":"https:\/\/aegislens.com\/home\/onedrive-file-picker-vulnerability-oauth-over-permission-and-full-drive-access\/","title":{"rendered":"OneDrive File Picker Vulnerability: OAuth Over-Permission and Full Drive Access"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>A recently disclosed security flaw in Microsoft\u2019s OneDrive <strong>File Picker<\/strong> tool allows third-party web applications to gain full read access to a user\u2019s entire OneDrive cloud storage\u2014even if the user only intended to share or upload a single file<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Oasis%20Security%27s%20research%20team%20uncovered,and%20violation%20of%20compliance%20regulations\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. This issue was uncovered by Oasis Security\u2019s research team and is estimated to affect hundreds of popular apps (including ChatGPT, Slack, Trello, and ClickUp), potentially exposing millions of users to unauthorized data access<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Picker%20that%20allows%20websites%20to,and%20violation%20of%20compliance%20regulations\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. In practical terms, once a user consents through the OneDrive File Picker, the integrated application can read (and in some cases write or delete) all files in the user\u2019s OneDrive, far beyond the one file the user selected. The impact of this over-permission is severe \u2013 it risks extensive data leakage and may violate compliance regulations for sensitive information<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Picker%20that%20allows%20websites%20to,and%20violation%20of%20compliance%20regulations\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>.<\/p>\n\n\n\n<p>Microsoft was notified of the flaw through responsible disclosure, and while the company <strong>acknowledged<\/strong> the problem, it noted that the system is essentially \u201cworking as designed.\u201d Microsoft has indicated it <em>may consider<\/em> future improvements to better align the File Picker\u2019s access with the principle of least privilege, but no fix or timeline has been announced as of this writing<a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Oasis%20contacted%20both%20Microsoft%20and,the%20system%20works%20as%20designed\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a><a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=Microsoft%E2%80%99s%20Response%20and%20Mitigation%20Steps\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. The following report analyzes the technical root cause of this vulnerability, demonstrates how one might reproduce it in a controlled proof-of-concept, reviews the disclosure timeline and responses, evaluates the security\/compliance risks for enterprises, and recommends mitigation strategies. We also identify which third-party services are known to use the OneDrive File Picker and are thereby impacted.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Technical Root Cause: OAuth Scope Misconfiguration<\/h2>\n\n\n\n<p>At the heart of this vulnerability is an <strong>OAuth scope design flaw<\/strong> \u2013 the OneDrive File Picker requires overly broad permissions that grant applications full drive access instead of limiting them to a specific file or folder. In essence, Microsoft\u2019s implementation lacks fine-grained OAuth scopes for file-level access. <strong>Rather than requesting access only to the user-selected file, the OneDrive File Picker often asks for blanket permissions such as <code>Files.Read.All<\/code> or <code>Files.ReadWrite.All<\/code>, which grant the app full access to every file and folder in the user\u2019s OneDrive<\/strong><a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=At%20the%20heart%20of%20the,OneDrive%E2%80%94not%20just%20the%20selected%20document\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. Users consenting to the File Picker may not realize that clicking \u201cAllow\u201d is giving the application unrestricted read (or read\/write) rights over their entire cloud drive<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=At%20the%20heart%20of%20the,OneDrive%E2%80%94not%20just%20the%20selected%20document\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. The consent dialog presented during this process is misleadingly vague \u2013 it suggests the app will access \u201cyour files\u201d for the operation, but does not clearly communicate that <em>all<\/em> files in OneDrive are included, not just the one being shared<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=grained%20OAuth%20scopes%20for%20OneDrive\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a><a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Microsoft%E2%80%99s%20current%20setup%20presents%20the,permissions%20over%20the%20entire%20drive\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>. This discrepancy between user intent and actual scope is a core issue.<\/p>\n\n\n\n<p><strong>Lack of fine-grained scopes<\/strong> means developers have no option to request narrower permissions. According to Oasis, OneDrive\u2019s OAuth framework forces use of broad delegated scopes like <code>MyFiles.Read<\/code>, <code>Sites.Read.All<\/code>, or <code>Files.ReadWrite.All<\/code> with no way to scope access to individual files<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=No%20Fine\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. This \u201call-or-nothing\u201d approach violates the principle of least privilege. It makes it impossible to enforce that an app only sees what it truly needs; even legitimate apps end up over-permissioned simply because no lesser scope exists<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Excessive%20Permissions%20in%20the%20OneDrive,File%20Picker\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a><a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=The%20lack%20of%20fine,is%20no%20other%20secure%20option\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. As one security expert noted, the File Picker currently grants <strong>\u201call or nothing\u201d<\/strong> access \u2013 applications get an entire OneDrive\u2019s worth of data or nothing, rather than a finer-grained subset<a href=\"https:\/\/www.darkreading.com\/application-security\/hundreds-web-apps-full-access-onedrive-files#:~:text=The%20OneDrive%20File%20Picker%20is,File%20Picker%20functionality%2C%20Boote%20says\" target=\"_blank\" rel=\"noreferrer noopener\">darkreading.com<\/a>.<\/p>\n\n\n\n<p>It\u2019s illustrative to compare this with other cloud storage platforms\u2019 design choices. <em>Google Drive<\/em>, for instance, offers a scope called <code>drive.file<\/code> that limits an app\u2019s access to only files explicitly opened or created by that app, rather than the user\u2019s whole Drive. <em>Dropbox<\/em> takes an even stricter approach: its <strong>Chooser SDK<\/strong> allows users to select a file for an app without the app ever receiving an OAuth token to the whole account<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=the%20OneDrive%20File%20Picker%20often,OneDrive%E2%80%94not%20just%20the%20selected%20document\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. In contrast, Microsoft\u2019s OneDrive File Picker does not have a \u201cfile-specific\u201d OAuth scope \u2013 it leverages broad Graph API permissions (e.g. <strong>Files.Read.All<\/strong>) that inherently cover the user\u2019s entire drive content<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=At%20the%20heart%20of%20the,OneDrive%E2%80%94not%20just%20the%20selected%20document\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. The table below summarizes this difference in OAuth scope granularity:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Cloud Storage Platform<\/th><th>File Picker Permission Scope<\/th><th>Access Granted to Third-Party App<\/th><\/tr><\/thead><tbody><tr><td><strong>OneDrive (Microsoft)<\/strong><\/td><td><code>Files.Read.All<\/code> (or <code>Files.ReadWrite.All<\/code> for uploads) <strong>(Delegated OAuth)<\/strong><\/td><td><strong>Full access<\/strong> to all files in the user\u2019s OneDrive (all folders and files the user can access)<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=At%20the%20heart%20of%20the,OneDrive%E2%80%94not%20just%20the%20selected%20document\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>.<\/td><\/tr><tr><td><strong>Google Drive<\/strong><\/td><td><code>drive.file<\/code> <strong>(OAuth)<\/strong><\/td><td>Restricted access to <em>only the files the user selects or creates<\/em> with the app (no access to other Drive content)<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=This%20contrasts%20sharply%20with%20platforms,SDK%20that%20avoids%20OAuth%20entirely\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>.<\/td><\/tr><tr><td><strong>Dropbox<\/strong><\/td><td>Proprietary <em>Chooser<\/em> SDK (no broad token)<\/td><td>App receives a direct link or file object for the chosen file <strong>only<\/strong>, with <strong>no general account access<\/strong><a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=This%20contrasts%20sharply%20with%20platforms,SDK%20that%20avoids%20OAuth%20entirely\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><em>Table: Comparison of file picker permission models for OneDrive vs. Google Drive and Dropbox. Microsoft\u2019s model uses broad scopes covering the entire drive, whereas Google and Dropbox provide more granular or limited access.<\/em><a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=the%20OneDrive%20File%20Picker%20often,OneDrive%E2%80%94not%20just%20the%20selected%20document\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a><\/p>\n\n\n\n<p>Beyond the scope misconfiguration, there is a secondary technical issue exacerbating the risk: <strong>insecure storage of OAuth tokens<\/strong> on the client side. Oasis Security found that various versions of the OneDrive File Picker SDK handle tokens in less-than-secure ways. Older implementations (v6.0\u20137.2) used implicit OAuth flows that returned tokens in URL fragments or stored them in the browser\u2019s localStorage, where a malicious script could potentially retrieve them<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=The%20Oasis%20Security%20report%20also,of%20the%20OneDrive%20File%20Picker\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. The latest <strong>File Picker v8.0<\/strong> has moved to a more secure OAuth 2.0 Authorization Code flow using Microsoft\u2019s Authentication Library (MSAL); however, it still <strong>stores the obtained access tokens in plaintext within the browser\u2019s sessionStorage<\/strong> by default<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Security%20risks%20ensue%3A\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. If an attacker can execute script in the context of the app (through an XSS vulnerability or malicious browser extension, for example), they could steal these tokens from session storage. Moreover, if the app requests the <code>offline_access<\/code> scope, a refresh token is also issued, potentially extending the lifetime of the access far beyond the default one-hour token expiry<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Security%20risks%20ensue%3A\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. In short, not only are third-party apps getting overly broad OneDrive tokens, but those tokens might also be insufficiently protected on the client, compounding the security exposure<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=Beyond%20permissions%2C%20the%20report%20also,creating%20a%20potential%20exploit%20vector\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a><a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Adding%20to%20the%20concern%2C%20older,an%20attacker%20gains%20local%20access\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>. (Notably, OpenAI\u2019s ChatGPT integration was found to be using File Picker v8.0, meaning it inherits the MSAL token storage behavior<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=,access%20to%20the%20user%27s%20data\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>.)<\/p>\n\n\n\n<p>To summarize, the root cause of this vulnerability is a <strong>design-level over-permissioning<\/strong> in OneDrive\u2019s OAuth scopes. The File Picker integration requests full OneDrive drive access due to lack of item-level scope granularity, and the consent UI does not warn users of the breadth of access being granted<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=The%20official%20OneDrive%20File%20Picker,grained%20OAuth%20scopes%20for%20OneDrive\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a><a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=While%20users%20are%20prompted%20to,open%20to%20unexpected%20security%20risks\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. This is aggravated by token handling practices that could allow these powerful tokens to be stolen or misused. <strong>Any web application using the official OneDrive Picker API can inadvertently (or deliberately) obtain far more privileges than the user expects<\/strong>, which is why this flaw is so widely impactful.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Proof-of-Concept Demonstration Feasibility<\/h2>\n\n\n\n<p>Demonstrating this vulnerability in a controlled environment is feasible with moderate effort, as it essentially involves replicating the normal OAuth flow of the OneDrive File Picker and then observing the scope of access the third-party application receives. The key is to show that after a user selects a single file, the third-party app\u2019s access token can be used to read <strong>other files<\/strong> in the user\u2019s OneDrive, proving the over-broad permission.<\/p>\n\n\n\n<p>A potential <strong>Proof-of-Concept (PoC)<\/strong> setup would involve the following steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>App Registration<\/strong> \u2013 Set up a dummy web application and register it in Azure AD with OneDrive\/Graph API permissions. For an <strong>\u201copen file\u201d<\/strong> style picker, the app will need a delegated permission such as <code>Files.Read.All<\/code> (for read-only access) or <code>Files.ReadWrite.All<\/code> (if demonstrating upload\/save). This is the same permission real integrations use. The app\u2019s redirect URI and client ID are obtained in this step.<\/li>\n\n\n\n<li><strong>Integrate the OneDrive File Picker<\/strong> \u2013 Include Microsoft\u2019s OneDrive Picker SDK in the web app. One can use either the older <strong>v7<\/strong> (which handles auth internally via implicit flow) or <strong>v8<\/strong> (which requires using MSAL for auth). Using <strong>v7.x<\/strong> might simplify the PoC because it employs an implicit OAuth flow that will return an access token in the URL fragment upon consent<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=,stored%20them%20insecurely%20in%20localStorage\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. Using v8.0 with MSAL is also possible: the app would invoke MSAL to authenticate the user and acquire an access token for OneDrive, then pass that token to the Picker. In either case, when the user clicks a button to attach or pick a OneDrive file, they will be presented with Microsoft\u2019s <strong>OAuth consent screen<\/strong>.<\/li>\n\n\n\n<li><strong>Consent to a Single File<\/strong> \u2013 As the test user, go through the OAuth consent dialog, granting the application the permissions it requests. The dialog will likely ask for permission to \u201cRead your files\u201d or similar (which, due to the broad scope, actually means all files). For the PoC, select a single benign file (e.g. a test document) from your OneDrive to authorize and share with the app. After consent, the File Picker SDK will typically return some result to the application \u2013 for example, a file object containing the chosen file\u2019s name or a download link. Crucially, it will also have facilitated the retrieval or storage of an <strong>OAuth access token<\/strong> for Graph API calls. In <strong>v7<\/strong>, this token might be visible as a URL fragment (e.g. <code>#access_token=&lt;token>&amp;scope=Files.Read.All\u2026<\/code> in the redirect URL) or stored in <code>localStorage<\/code><a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=,stored%20them%20insecurely%20in%20localStorage\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. In v8, the token will be managed by MSAL (likely stored in <code>sessionStorage<\/code>) and accessible via the MSAL client object in JavaScript<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=,stored%20them%20insecurely%20in%20localStorage\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a><a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Security%20risks%20ensue%3A\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>.<\/li>\n\n\n\n<li><strong>Use the Token to Access Other Files<\/strong> \u2013 With the access token obtained (by parsing the URL fragment in v7 or pulling from MSAL in v8), the PoC can then directly call the Microsoft Graph API to enumerate or read files outside of the originally selected item. For example, one can issue a Graph request to list the contents of the OneDrive root directory (<code>GET \/me\/drive\/root\/children<\/code>) or retrieve a known file in another folder. Because the token carries the <code>Files.Read.All<\/code> scope, this call will succeed \u2013 the application can fetch file names and contents for <strong>any file in the drive<\/strong>, not just the one originally picked. This confirms that the third-party app has <strong>full read access<\/strong> to the OneDrive. If the token also had write scope (<code>Files.ReadWrite.All<\/code>), the app could create, modify, or delete files on OneDrive as well<a href=\"https:\/\/www.csa.gov.sg\/alerts-and-advisories\/alerts\/al-2025-051#:~:text=Impact\" target=\"_blank\" rel=\"noreferrer noopener\">csa.gov.sg<\/a>. A successful PoC may log the names of several files from the user\u2019s drive to demonstrate unauthorized breadth of access (without exposing the file contents to any truly malicious party).<\/li>\n\n\n\n<li><strong>Controlled Environment<\/strong> \u2013 Throughout the PoC, it\u2019s important to use non-sensitive data and test accounts. The demonstration should be done in a <strong>controlled environment<\/strong> (e.g., the researcher\u2019s own OneDrive or a demo tenant) to avoid any actual data breach. No actual exploitation beyond the researcher\u2019s account is necessary; the goal is simply to illustrate the potential for abuse. After the test, the researcher should revoke the dummy app\u2019s access via the Microsoft Account or Azure AD settings to clean up.<\/li>\n<\/ol>\n\n\n\n<p>The feasibility of this PoC lies in the fact that it does not require breaking any security mechanism \u2013 one is simply leveraging the official OneDrive File Picker flow as designed, then observing the unintended consequences. Oasis Security effectively did this analysis by inspecting the token scopes and behavior of real applications. For instance, they noted that even an application as reputable as ChatGPT, when integrated with OneDrive Picker, would receive an access token permitting read of all files<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=The%20vulnerability%20affects%20hundreds%20of,to%20their%20entire%20cloud%20storage\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a><a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Millions%20of%20Users%20at%20Risk\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>. By building a custom minimal app, a security tester can replicate what those apps are doing under the hood. Additionally, Oasis pointed out that the older Picker SDK made such testing easier by exposing tokens in the front-end (URL or local storage)<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=The%20Oasis%20Security%20report%20also,of%20the%20OneDrive%20File%20Picker\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. A tester could intentionally use the legacy <strong>implicit grant<\/strong> flow to grab the token directly from the browser address bar after consent. On the newer MSAL-based flow, one might insert debugging code in the app to output the acquired token (since MSAL stores it in sessionStorage, a developer can retrieve it via <code>window.sessionStorage<\/code> or MSAL APIs after authentication). Once the token is in hand, its scopes can be inspected and it can be used in API calls to confirm the level of access.<\/p>\n\n\n\n<p>In summary, developing a PoC for this vulnerability is straightforward because the vulnerability <em>is the normal functionality<\/em> of the File Picker. The PoC steps above essentially mirror how any third-party integration works \u2013 the only difference is that instead of trusting the token, we actively use it to highlight that we can open files beyond the user\u2019s original intention. This serves to concretely demonstrate the OAuth scope misconfiguration problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Disclosure Timeline and Microsoft\u2019s Response<\/h2>\n\n\n\n<p>The OneDrive File Picker over-permission issue was discovered by Oasis Security\u2019s researchers and handled via responsible disclosure. <strong>Oasis reported the flaw to Microsoft<\/strong> and simultaneously alerted some major affected vendors (e.g. those behind ChatGPT, Slack, Trello, etc.) prior to public release of their findings<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Upon%20discovery%2C%20Oasis%20reported%20the,and%20the%20access%20it%20requires\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a><a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Oasis%20contacted%20both%20Microsoft%20and,the%20system%20works%20as%20designed\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>. Oasis published their research on May 28, 2025, after giving Microsoft advance notice<a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=OAuth%20is%20the%20widely%20used,apps%20can%20see%20or%20do\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a><a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Oasis%20contacted%20both%20Microsoft%20and,the%20system%20works%20as%20designed\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>.<\/p>\n\n\n\n<p>Microsoft\u2019s initial response was that the OneDrive File Picker was <em>functioning as intended<\/em>, since it was built without granular scopes. In other words, Microsoft acknowledged the report but indicated that this broad access behavior is a known trade-off of the current design (essentially a **\u201cby design\u201d issue rather than a simple bug)<a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Oasis%20contacted%20both%20Microsoft%20and,the%20system%20works%20as%20designed\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>. Importantly, Microsoft did <strong>not<\/strong> rush out an emergency patch or advisory, because there was no straightforward fix given the architectural limitations. Instead, Microsoft stated it <strong>\u201cmay consider improvements in the future\u201d<\/strong> to better align the File Picker\u2019s permissions with the principle of least privilege<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=Microsoft%E2%80%99s%20Response%20and%20Mitigation%20Steps\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. This suggests that Microsoft might introduce more fine-grained OAuth scopes or an updated picker SDK in a future update, but specifics were not provided. As of the end of May 2025, no fix or new feature had been rolled out yet, and the vulnerability remained effectively unpatched in production.<\/p>\n\n\n\n<p>It appears Microsoft is evaluating how to resolve this without breaking existing integrations. One potential improvement (speculative) could be implementing a scope akin to Google\u2019s <code>drive.file<\/code> for OneDrive, or changing the File Picker to use short-lived, file-specific tokens or share links. In communications with the press, Microsoft has not committed to a timeline, only acknowledging the concern. For example, tech outlets reported that <strong>\u201cMicrosoft has acknowledged the issue and is reportedly evaluating changes,\u201d<\/strong> but with no official fix available yet<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=Microsoft%27s%20response\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a>. A Microsoft spokesperson comment (as reported by one source) essentially said the system currently works as designed and any changes would come as future enhancements<a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Oasis%20contacted%20both%20Microsoft%20and,the%20system%20works%20as%20designed\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>.<\/p>\n\n\n\n<p><strong>Disclosure Timeline Highlights:<\/strong> Oasis\u2019s report was published May 28, 2025, but the discovery likely happened some weeks or months prior. The issue gained media traction immediately, with multiple security news outlets covering it on May 28-29. The Cyber Security Agency of Singapore even issued a security alert on May 30, 2025, summarizing the flaw and its risks<a href=\"https:\/\/www.csa.gov.sg\/alerts-and-advisories\/alerts\/al-2025-051#:~:text=Security%20Flaw%20in%20Microsoft%27s%20OneDrive,File%20Picker\" target=\"_blank\" rel=\"noreferrer noopener\">csa.gov.sg<\/a>. As of this report, Microsoft has not issued a public advisory on their MSRC (Microsoft Security Response Center) or a CVE, likely because it is seen as a design limitation rather than a vulnerability that can be quickly patched. However, under mounting awareness, Microsoft will be under pressure to address it through a product update or clearer warnings. In the interim, the onus is on users and administrators to manage this risk (as discussed in the next sections).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Security and Compliance Risks in Enterprise Environments<\/h2>\n\n\n\n<p>This vulnerability introduces significant <strong>security and compliance risks<\/strong>, especially in enterprise contexts where OneDrive may house sensitive corporate data. When an employee connects a third-party app via the OneDrive File Picker, they could be unintentionally granting that app (and by extension, anyone with access to that app or its tokens) the ability to <strong>read, copy, modify, or delete all files<\/strong> in their OneDrive account<a href=\"https:\/\/www.csa.gov.sg\/alerts-and-advisories\/alerts\/al-2025-051#:~:text=Impact\" target=\"_blank\" rel=\"noreferrer noopener\">csa.gov.sg<\/a>. The potential scenarios of abuse include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Data Exfiltration:<\/strong> A malicious or compromised third-party application could silently harvest all files in a user\u2019s OneDrive once authorized. This might include confidential documents, financial records, personal identifiable information (PII), intellectual property, etc. Because the app\u2019s access is <em>persistent<\/em> (tokens last at least one hour, and possibly can be refreshed for longer<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=Once%20these%20permissions%20are%20granted%2C,stored%20in%20the%20user%27s%20drive\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a>), an attacker has ample time to enumerate and exfiltrate data. If an organization&#8217;s employees have broadly authorized such apps, a single threat actor exploiting the app or token could <strong>leverage that access to collect massive amounts of company data<\/strong> from many users\u2019 OneDrives. This is essentially a backdoor path to sensitive data that bypasses normal access controls, under the guise of user-granted access.<\/li>\n\n\n\n<li><strong>Unauthorized Data Modification or Destruction:<\/strong> With write permissions (granted via <code>Files.ReadWrite.All<\/code> in a \u201csave to OneDrive\u201d integration scenario), the third-party app could modify existing files or upload new files. In a worst-case malicious scenario, an attacker could use the access to <strong>encrypt or ransom the files<\/strong> in OneDrive or SharePoint storage<a href=\"https:\/\/www.darkreading.com\/application-security\/hundreds-web-apps-full-access-onedrive-files#:~:text=The%20issue%20puts%20any%20organization,or%20encrypt%20data%20in%20OneDrive\" target=\"_blank\" rel=\"noreferrer noopener\">darkreading.com<\/a>. Dark Reading\u2019s analysis pointed out that an attacker abusing this weakness might <strong>encrypt data in OneDrive<\/strong> or disrupt it, akin to a ransomware attack, since they effectively have the same rights as the user to all files<a href=\"https:\/\/www.darkreading.com\/application-security\/hundreds-web-apps-full-access-onedrive-files#:~:text=The%20issue%20puts%20any%20organization,or%20encrypt%20data%20in%20OneDrive\" target=\"_blank\" rel=\"noreferrer noopener\">darkreading.com<\/a>. Even read-only access can be leveraged to delete files if an attacker also gains user-level privileges (for example, via the Graph API delete operations if included in scopes). The CSA Singapore alert explicitly notes the risk of content <strong>deletion<\/strong> leading to data loss<a href=\"https:\/\/www.csa.gov.sg\/alerts-and-advisories\/alerts\/al-2025-051#:~:text=Impact\" target=\"_blank\" rel=\"noreferrer noopener\">csa.gov.sg<\/a>. For enterprises, large-scale data tampering or loss can trigger serious business continuity and recovery issues.<\/li>\n\n\n\n<li><strong>Compliance and Privacy Violations:<\/strong> Many organizations are subject to data protection regulations (GDPR, HIPAA, FINRA, etc.) that mandate control over who can access sensitive data. If an employee authorizes a third-party app that then vacuums up all documents (which might include customer data, patient records, personal information, etc.), this could be considered an unauthorized disclosure. Even if the third-party is a legitimate service, the <strong>over-broad access<\/strong> means data that was never intended to leave the Microsoft 365 environment might end up stored or processed by that third-party, potentially violating data residency or sharing policies. For instance, an employee could attach a single file containing customer information to a work management app via OneDrive Picker, but due to the flaw, that app now can pull in <em>all<\/em> customer files from the user\u2019s OneDrive. This kind of overreach could break compliance rules and go unnoticed without auditing<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Oasis%20Security%27s%20research%20team%20uncovered,and%20violation%20of%20compliance%20regulations\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. Enterprises in highly regulated sectors must consider this a data governance failure mode.<\/li>\n\n\n\n<li><strong>Lack of User Awareness and Shadow IT:<\/strong> Because the consent prompt doesn\u2019t clearly warn of full drive access, users may unwittingly approve what they think is a minimal permission. This creates a shadow IT problem: users trust an app with one document, but in reality the app holds keys to much more. Many users store extremely sensitive information in OneDrive by default (e.g. scans of IDs, financial documents, internal project files, photos with location data)<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=Boote%20warns%20that%20many%20users,risk%20of%20theft%20or%20misuse\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a>. As security consultant Jamie Boote observed, users often don\u2019t realize how far their OneDrive contents reach into personal or confidential territory<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=Boote%20warns%20that%20many%20users,risk%20of%20theft%20or%20misuse\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a>. A single careless click on \u201cAllow\u201d can expose an entire trove of such data. For enterprises, this means an employee could inadvertently breach data handling policies, and traditional DLP (Data Loss Prevention) tools might not catch it because the data access is happening through authorized OAuth channels.<\/li>\n\n\n\n<li><strong>Elevation of Privilege via Token Theft:<\/strong> The insecure token storage aspect adds another risk: even if a third-party app is benign and well-intentioned, if its environment is compromised (say the user\u2019s browser or the app\u2019s code), an attacker could steal the OAuth token from the client side<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=Beyond%20permissions%2C%20the%20report%20also,creating%20a%20potential%20exploit%20vector\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a>. That stolen token (especially if coupled with a refresh token) could then be used by the attacker independently to access the user\u2019s OneDrive from another location or device, <strong>without further user interaction<\/strong>. In a corporate setting, this could allow an external attacker to maintain persistent access to company files by replaying stolen tokens or continuously refreshing them. Traditional security monitoring might just see it as the authorized app\u2019s access. This complicates incident response \u2013 even if the user notices something wrong and removes the app\u2019s access, data may have already been siphoned in the interim.<\/li>\n\n\n\n<li><strong>Multi-Tenant Application Risk:<\/strong> If a single third-party application is popular (for example, a project management tool or AI assistant used across many companies), that one app\u2019s broad permissions represent a <strong>concentrated risk<\/strong>. A vulnerability in that app or a deliberate abuse by its operators could impact multiple organizations in one stroke. The Oasis research highlighted the scale by pointing out ChatGPT\u2019s enormous user base; if even a fraction use the OneDrive integration, that\u2019s a vast amount of data potentially accessible<a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Millions%20of%20Users%20at%20Risk\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>. Enterprises need to be wary that <strong>an integration used by thousands of employees could inadvertently expose data across the enterprise<\/strong> if abused.<\/li>\n<\/ul>\n\n\n\n<p>From a compliance standpoint, these risks translate to potential breaches that must be reported, fines, and loss of customer trust. Security teams must treat third-party OAuth access with the same seriousness as they would an internal admin account with global privileges \u2013 because effectively, that\u2019s what these apps have been given.<\/p>\n\n\n\n<p>In summary, the OneDrive File Picker flaw turns what should have been a minimal, file-scoped permission into a <strong>broad backstage pass<\/strong> for third-party apps. In an enterprise, this undermines data segregation and access controls. The risk is not merely hypothetical: it is already present in production integrations, waiting for either an attacker to exploit or an inadvertent policy violation to occur. Organizations should assume that any file their users can access in OneDrive might also be accessible to any app those users have authorized, and plan their security measures accordingly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Mitigation Strategies for Administrators, Developers, and Users<\/h2>\n\n\n\n<p>Until Microsoft provides a more granular permission mechanism or updated File Picker, enterprises and individuals must proactively mitigate this over-permission risk. Key <strong>mitigation strategies<\/strong> include tightening app access policies, monitoring for misuse, and educating users on the danger:<\/p>\n\n\n\n<p><strong>For Enterprise Administrators \/ IT Security Teams:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Audit and Restrict Third-Party App Access:<\/strong> Perform an audit of all OAuth grants in your tenant. Using the Entra ID (Azure AD) portal, review the list of <strong>Enterprise Applications<\/strong> that have delegated permissions to OneDrive\/Graph<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. Identify any apps requesting overly broad scopes (like Files.ReadWrite.All). It\u2019s advisable to <strong>revoke access<\/strong> for any unauthorized or unnecessary apps immediately<a href=\"https:\/\/www.csa.gov.sg\/alerts-and-advisories\/alerts\/al-2025-051#:~:text=Mitigation\" target=\"_blank\" rel=\"noreferrer noopener\">csa.gov.sg<\/a>. Administrators can use PowerShell or Graph API to enumerate OAuth consents as well. This audit should be done regularly.<\/li>\n\n\n\n<li><strong>Implement Admin Consent and Approval Workflows:<\/strong> Enable Azure AD\u2019s <strong>Admin Consent<\/strong> policy such that end-users cannot individually consent to apps that require certain high-privilege scopes (like full drive access) without administrator review<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=,privilege%20alternatives\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a><a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=,block%20apps%20requesting%20excessive%20permissions\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. By requiring an admin to vet any app asking for broad file permissions, organizations can prevent users from accidentally granting a rogue or unvetted app access to corporate files. Many organizations choose to allow only a pre-approved list of third-party apps; this vulnerability underscores the importance of that practice.<\/li>\n\n\n\n<li><strong>Use Conditional Access to Limit OAuth Tokens:<\/strong> Leverage Conditional Access policies in Entra ID to constrain how and when third-party apps can be used. For example, you might block OAuth token issuance to apps from unmanaged devices or outside certain geographic locations. You could also create a policy to <strong>disallow<\/strong> granting consent to <strong>OAuth apps requesting the <code>Files.Read.All<\/code> or <code>Files.ReadWrite.All<\/code> scope<\/strong> for most users, as a blanket safety measure<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=,privilege%20alternatives\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a>. Only specific service accounts or privileged users would be exempt if needed.<\/li>\n\n\n\n<li><strong>Monitor OneDrive Access Logs:<\/strong> Increase monitoring on OneDrive\/SharePoint access via Microsoft 365 audit logs or Cloud Access Security Broker (CASB) solutions. Unusual patterns \u2013 such as a third-party app reading a large number of files or accessing files at odd hours \u2013 should raise an alert. Graph API call logs can often be analyzed to detect bulk file access. Microsoft\u2019s Continuous Access Evaluation (CAE) can be enabled to make OAuth token revocation near-real-time if misuse is detected<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=scopes%2C%20and%20re,privilege%20alternatives\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a>. Some security tools can also monitor OAuth app behavior and flag anomalies in token usage across tenants. Given the token could be valid for up to an hour (or longer with refresh), timely detection is key.<\/li>\n\n\n\n<li><strong>Shorten Token Lifetimes &amp; Protect Refresh Tokens:<\/strong> Where possible, configure shorter token lifetimes for OAuth tokens in your tenant and enable features like <strong>token protection<\/strong> (which binds tokens to a specific client or environment). This can limit the window of abuse if a token is stolen<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=Soroko%20also%20recommends%20enabling%20Continuous,expose%20large%20volumes%20of%20data\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a>. Also, consider disabling long-lived refresh tokens for third-party apps (some Microsoft plans allow configuring OAuth consent such that refresh tokens aren\u2019t issued, forcing re-consent frequently). While this might inconvenience users, it reduces persistence of access<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>.<\/li>\n\n\n\n<li><strong>User Education and Data Classification:<\/strong> Educate your user base about the implications of OAuth consents. Encourage a culture of caution: users should only authorize apps from reputable publishers and only if truly necessary for their work. Remind users that \u201cAllow\u201d can mean handing over all your files. Additionally, enforce data classification and storage policies \u2013 truly sensitive data might not belong in personal OneDrive folders where it could be accidentally exposed via an app. Storing such data in more tightly controlled repositories (with no OAuth access) could mitigate worst-case scenarios.<\/li>\n<\/ul>\n\n\n\n<p><strong>For Application Developers (Third-Party App Developers using OneDrive integration):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Adhere to Least Privilege (to the extent possible):<\/strong> Although OneDrive\u2019s scopes are coarse, developers should still request the minimum scopes needed. For example, if your app only needs to let users <em>open<\/em> files from OneDrive, use <strong>Files.Read.All<\/strong> rather than Files.ReadWrite.All. Do not request write or offline access if you don\u2019t absolutely need it<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=,and%20Refresh%20Tokens%20where%20possible\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. Each unnecessary permission is an additional security liability for your users and will increase scrutiny on your app. Microsoft Graph also has some alternatives like <strong>Sites.Selected<\/strong> (for SharePoint limited access) \u2013 if applicable, consider those, though they may not fully solve the single-file case.<\/li>\n\n\n\n<li><strong>Avoid Using Refresh Tokens:<\/strong> Design your integration such that it does not rely on long-lived tokens. If your use case allows, <strong>do not request the <code>offline_access<\/code> scope<\/strong>, so that no refresh token is issued<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. This way, the OAuth access token will expire after an hour and cannot be silently renewed \u2013 reducing the window in which an attacker could abuse a stolen token. If prolonged access is needed, consider implementing your own backend token proxy with additional security checks, or prompt the user to re-authenticate for critical operations rather than storing a refresh token.<\/li>\n\n\n\n<li><strong>Secure Token Storage:<\/strong> Pay attention to how you store and handle tokens. The OneDrive File Picker v8.0 leaves token management to developers (via MSAL). By default, MSAL may use browser sessionStorage, but you should treat the token as sensitive as a password. Do not log tokens or expose them in URLs. If your app has a backend component, <strong>consider storing tokens server-side<\/strong> (e.g., in an encrypted store or vault) instead of in the client, and issue your own short-lived session identifiers to the frontend. If purely client-side, explore using browser memory (JavaScript variables) without persistent storage, and explicitly <strong>clear tokens<\/strong> from memory\/storage when they are no longer needed<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. Also ensure your application\u2019s domain has proper Content Security Policy to prevent injected scripts, since an XSS could target these tokens. Essentially, assume that a token with broad OneDrive scope will be an attractive target and guard it accordingly.<\/li>\n\n\n\n<li><strong>Provide Transparency to Users:<\/strong> As a responsible developer, you might consider informing users why your app needs the permissions it\u2019s requesting. Since Microsoft\u2019s consent screen is generic, you could add your own explanation in your UI like \u201cWe require permission to read all files in your OneDrive due to Microsoft\u2019s limitations, but we will only access files that you choose.\u201d While this doesn\u2019t change the permission, it at least sets correct expectations and might prompt risk-aware users to proceed cautiously.<\/li>\n\n\n\n<li><strong>Alternate Design (If Feasible):<\/strong> If possible, offer alternative ways for users to share files without granting full drive access. For instance, your app could allow users to paste a OneDrive <strong>share link<\/strong> (which can be read-only) instead of using the picker OAuth flow<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=through%20OAuth%20until%20Microsoft%20provides,be%20less%20convenient%20for%20users\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. The shareable link approach means the user explicitly shares a single file (or folder) via OneDrive\u2019s own permissions, and your app only sees that content. This might be less user-friendly than the integrated picker, but it significantly reduces risk. Some developers have chosen to integrate Google Drive or Dropbox with limited scopes; you might prioritize those integrations for sensitive use-cases until Microsoft improves OneDrive\u2019s model.<\/li>\n<\/ul>\n\n\n\n<p><strong>For Individual Users:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Review App Permissions Regularly:<\/strong> Every OneDrive or Microsoft account user should periodically review which third-party apps have access to their account. This can be done via the Microsoft Account <strong>Privacy -> App Access<\/strong> settings (for personal accounts) or via the <strong>Connected Apps<\/strong> or OAuth permissions section in Office 365 for work accounts<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=,Accounts\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. Look at the list of apps and the permissions they have. Revoke access for any app you do not recognize or no longer need. Remember that even after revocation, an already-issued token may remain valid for up to one hour, but revoking will prevent refresh and future use<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=,a%20Refresh%20Token%20if%20present\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. It\u2019s especially important to remove any apps that have <em>Files.ReadWrite.All<\/em> or broad permissions unless you absolutely trust them.<\/li>\n\n\n\n<li><strong>Be Cautious with File Picker Prompts:<\/strong> If you attempt to attach or upload a file to a website and see a Microsoft OneDrive consent screen, take a moment to read it carefully. The wording might be unclear, but assume it is asking for permission to <strong>view your entire OneDrive<\/strong>. If you are not comfortable with that level of access, cancel the process. You can often use alternatives like downloading the file and uploading it manually, or sharing a link, rather than authorizing full access. When in doubt, deny the request and consult your IT department (for work scenarios) about the app\u2019s safety.<\/li>\n\n\n\n<li><strong>Limit Sensitive Data in OneDrive:<\/strong> This may not be practical for everyone, but consider what you store in OneDrive. If you have extremely sensitive files (tax documents, passports, company secrets), you might choose to keep them in a more secure location (or at least in a separate OneDrive folder not linked to third-party apps). That way, even if you accidentally authorize an app, the most sensitive data isn\u2019t accessible. Also use features like Personal Vault in OneDrive for an added layer of protection (though if the app has full access, even vault might be accessible once unlocked by the user\u2019s session \u2013 so treat this only as a minor mitigation).<\/li>\n<\/ul>\n\n\n\n<p>In essence, <strong>mitigation is about reducing the likelihood of granting broad access and limiting the damage if it occurs<\/strong>. Administrators should employ technical controls (policy and monitoring) to curb unwarranted app access, developers should minimize scopes and securely handle tokens, and end-users should remain vigilant about the apps they authorize. While these steps can significantly reduce risk, the definitive fix will need to come from Microsoft in the form of improved OAuth scope design or File Picker functionality.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Impact on Third-Party Services and Applications<\/h2>\n\n\n\n<p>Any web application that integrates with OneDrive via Microsoft\u2019s File Picker or Graph API OAuth could be impacted by this over-permission flaw. Oasis Security estimated that \u201c<strong>hundreds of popular applications<\/strong>\u201d are affected<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=The%20vulnerability%20affects%20hundreds%20of,to%20their%20entire%20cloud%20storage\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. Here we highlight a few notable services known or suspected to use the OneDrive File Picker and thus inherit this issue:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ChatGPT (OpenAI):<\/strong> Microsoft\u2019s integration with OpenAI\u2019s ChatGPT (particularly ChatGPT Enterprise or services that allow uploading files from OneDrive) uses the OneDrive File Picker under the hood. Notably, OpenAI\u2019s implementation was using File Picker SDK v8.0<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=,access%20to%20the%20user%27s%20data\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. This means if a user attaches a OneDrive file in a ChatGPT session, ChatGPT receives a token with full OneDrive read access. With ChatGPT\u2019s enormous user base, the scale of potential access is very large<a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Oasis%20Security%20estimates%20that%20hundreds,permissioning%60%20is%20massive\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>. OpenAI has to ensure it only uses what it needs, but technically the scope is broad. Users of ChatGPT who connected their OneDrive should be aware that ChatGPT could read all their files (even if it has no reason to do so in normal operation).<\/li>\n\n\n\n<li><strong>Slack:<\/strong> Slack offers an integration to attach files from cloud storage providers including OneDrive. When a user uses the OneDrive Picker in Slack to share a file in a channel, Slack is granted permission to read (and possibly write) the user\u2019s OneDrive files. This integration, while convenient, means Slack (or any threat actor who could compromise Slack\u2019s token or backend) might access all files the user has. Slack is widely used in enterprises, so this is a significant vector. There haven\u2019t been reports of Slack abusing this, but the capability is there by design<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Picker%20that%20allows%20websites%20to,and%20violation%20of%20compliance%20regulations\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>.<\/li>\n\n\n\n<li><strong>Trello:<\/strong> Trello, a popular project management tool, has a OneDrive Power-Up that lets users attach OneDrive files to Trello cards. Through that, Trello uses Microsoft\u2019s OAuth consent to gain access. Oasis listed Trello as impacted<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Picker%20that%20allows%20websites%20to,flaw%20could%20have%20severe%20consequences\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. So a Trello board integration could read any file from the user\u2019s drive, not just the one attached to the card. Organizations using Trello should ensure that this Power-Up is restricted or that users are made aware of what they\u2019re granting.<\/li>\n\n\n\n<li><strong>ClickUp:<\/strong> ClickUp is another projectivity\/productivity platform that allows cloud storage attachments. It was explicitly named in the Oasis report as well<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Picker%20that%20allows%20websites%20to,flaw%20could%20have%20severe%20consequences\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>. Similar to Trello, a user linking a OneDrive document to a ClickUp task gives ClickUp broad access. If ClickUp (the company) or someone hijacking a ClickUp API token decided to, they could pull in all sorts of data from connected OneDrives.<\/li>\n\n\n\n<li><strong>Others:<\/strong> The list of affected apps likely includes many collaboration, productivity, and AI tools. For example, any service that has a \u201cUpload from OneDrive\u201d or \u201cAttach from OneDrive\u201d button is a candidate. This could include <strong>Microsoft\u2019s own ecosystem apps<\/strong> (though one would hope Microsoft\u2019s first-party apps are well-governed), as well as third-party services like document signing platforms, business intelligence dashboards, CRM systems, note-taking apps, etc. Even some video conferencing or webinar platforms that let you share files might use OneDrive Picker. Recent articles have speculated that <em>Zoom<\/em> and other communication apps could be in scope if they integrate OneDrive for file sharing<a href=\"https:\/\/www.csoonline.com\/article\/3997051\/if-you-use-onedrive-to-upload-files-to-chatgpt-or-zoom-dont.html#:~:text=If%20you%20use%20OneDrive%20to,allowing%20users%20and%20developers\" target=\"_blank\" rel=\"noreferrer noopener\">csoonline.com<\/a>. However, without specific confirmation, it\u2019s safest to assume <strong>any web app you\u2019ve authorized to connect with your OneDrive has full access<\/strong>. Oasis\u2019s phrasing \u201chundreds of apps\u2026 meaning millions of users may have already granted access\u201d underscores how common this integration is<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Picker%20that%20allows%20websites%20to,and%20violation%20of%20compliance%20regulations\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>.<\/li>\n<\/ul>\n\n\n\n<p>It\u2019s important to note that just because an app has the ability to access all your files does not mean it actively does so. Reputable companies have privacy policies and may program the app to only fetch the file you specify. However, the risk remains that if those companies are breached or if an insider turns malicious, the OAuth grant could be misused to scrape data. Furthermore, a less scrupulous app could intentionally leverage this broad access without users realizing. Administrators should identify all apps in their environment with OneDrive permissions and treat them as high-risk accounts.<\/p>\n\n\n\n<p>To illustrate the breadth: <strong>ChatGPT, Slack, Trello, and ClickUp<\/strong> alone cover a wide swath of use cases \u2013 from AI assistants to team chat to project management \u2013 showing that this is not isolated to one category of app<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=The%20vulnerability%20affects%20hundreds%20of,to%20their%20entire%20cloud%20storage\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. Each of these services integrated the OneDrive Picker to improve user convenience, likely not anticipating that Microsoft\u2019s scope would be so broad. Now that this flaw is public, all these services (and others) are likely evaluating their implementations. Users of these services should stay informed via those vendors\u2019 advisories. For instance, some may release updates or guidance (e.g., \u201cwe will cache less data\u201d or \u201cwe recommend you reconnect with limited accounts\u201d). Ultimately, the safest course in the short term is to <strong>minimize use of \u201cLog in with Microsoft\/OneDrive to attach files\u201d features<\/strong> on third-party sites unless absolutely necessary, and use alternative file-sharing methods when possible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The OneDrive File Picker vulnerability highlights a fundamental trade-off in OAuth design between usability and security. Microsoft\u2019s current implementation favored <strong>ease of integration<\/strong> \u2013 a single consent covers any file operations \u2013 at the cost of <strong>over-privileging<\/strong> third-party apps. This case serves as a real-world lesson that \u201c<strong>all-or-nothing<\/strong>\u201d permissions can lead to unintended exposure: users and even developers might not fully grasp that a simple file share grants what is effectively full drive access. In an era where cloud storage platforms are hubs of sensitive information, the stakes for getting OAuth scopes right are extremely high.<\/p>\n\n\n\n<p>Addressing this issue will require action on multiple fronts. <strong>Microsoft<\/strong> needs to improve its OAuth granular controls and perhaps redesign the File Picker to support file-scoped tokens or consent prompts that enumerate the level of access more clearly. The company has signaled awareness, but concrete changes are eagerly awaited<a href=\"https:\/\/www.linkedin.com\/pulse\/critical-onedrive-vulnerability-allows-malicious-jzize#:~:text=Microsoft%E2%80%99s%20Response%20and%20Mitigation%20Steps\" target=\"_blank\" rel=\"noreferrer noopener\">linkedin.com<\/a>. Meanwhile, <strong>enterprises<\/strong> must not be complacent \u2013 they should tighten app governance and educate users, as discussed, to prevent data leakage through this vector. <strong>Developers<\/strong> leveraging cloud APIs are reminded of their responsibility to request and handle permissions judiciously; just because a platform grants broad access by default doesn\u2019t mean one should utilize it to the fullest extent.<\/p>\n\n\n\n<p>Ultimately, this incident underscores the importance of the <strong>principle of least privilege<\/strong> in cloud integrations. Fine-grained access control isn\u2019t just a theoretical best practice; it is a necessary safeguard to protect users. Until OneDrive offers that, users and organizations must compensate with vigilance and restrictive policies. By implementing the mitigation steps outlined above and staying aware of which apps have access to data, the risk can be managed. However, the long-term fix \u2013 more precise OAuth scopes and better alignment between user intent and app privileges \u2013 is something only Microsoft can deliver. The security community will be watching closely for those improvements. In the interim, <strong>knowing the gap exists is key<\/strong>: with awareness, stakeholders can take steps to lock down OneDrive integrations and prevent this flaw from turning into actual breaches.<\/p>\n\n\n\n<p><strong>Sources:<\/strong> The analysis in this report is based on information from Oasis Security\u2019s official research findings, Microsoft documentation, and commentary from cybersecurity experts and news outlets. Key references include Oasis Security\u2019s blog report on the OneDrive File Picker flaw<a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Oasis%20Security%27s%20research%20team%20uncovered,and%20violation%20of%20compliance%20regulations\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a><a href=\"https:\/\/www.oasis.security\/resources\/blog\/onedrive-file-picker-security-flaw-oasis-research#:~:text=Excessive%20Permissions%20in%20the%20OneDrive,File%20Picker\" target=\"_blank\" rel=\"noreferrer noopener\">oasis.security<\/a>, disclosures via The Hacker News and Dark Reading<a href=\"https:\/\/thehackernews.com\/2025\/05\/microsoft-onedrive-file-picker-flaw.html#:~:text=,and%20violation%20of%20compliance%20regulations\" target=\"_blank\" rel=\"noreferrer noopener\">thehackernews.com<\/a><a href=\"https:\/\/www.darkreading.com\/application-security\/hundreds-web-apps-full-access-onedrive-files#:~:text=,open%20to%20unexpected%20security%20risks\" target=\"_blank\" rel=\"noreferrer noopener\">darkreading.com<\/a>, insights from infosec professionals (e.g., from Black Duck, Salt Security)<a href=\"https:\/\/www.secureworld.io\/industry-news\/onedrive-file-picker-flaw#:~:text=,party%20apps%20are%20involved\" target=\"_blank\" rel=\"noreferrer noopener\">secureworld.io<\/a><a href=\"https:\/\/hackread.com\/onedrive-file-picker-apps-full-access-user-drives\/#:~:text=Eric%20Schwake%2C%20Director%20of%20Cybersecurity,%E2%80%9D\" target=\"_blank\" rel=\"noreferrer noopener\">hackread.com<\/a>, and official advisories such as the Cyber Security Agency of Singapore\u2019s alert<a href=\"https:\/\/www.csa.gov.sg\/alerts-and-advisories\/alerts\/al-2025-051#:~:text=Mitigation\" target=\"_blank\" rel=\"noreferrer noopener\">csa.gov.sg<\/a>. These sources collectively corroborate the extent of the issue, Microsoft\u2019s response, and best-practice recommendations as of May 2025.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction A recently disclosed security flaw in Microsoft\u2019s OneDrive File Picker tool allows third-party web<\/p>\n","protected":false},"author":1,"featured_media":3334,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pmpro_default_level":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[45,2,5,29,26],"tags":[],"class_list":["post-3332","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","category-cybersecurity","category-news","category-threat-intelligence-research","category-vulnerabilities-exploits","pmpro-has-access"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/posts\/3332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/comments?post=3332"}],"version-history":[{"count":1,"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/posts\/3332\/revisions"}],"predecessor-version":[{"id":3335,"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/posts\/3332\/revisions\/3335"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/media\/3334"}],"wp:attachment":[{"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/media?parent=3332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/categories?post=3332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aegislens.com\/home\/wp-json\/wp\/v2\/tags?post=3332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}