Back to Intelligence

Instructure Canvas Incident: Detecting Unauthorized Access and Data Exfiltration

SA
Security Arsenal Team
May 1, 2026
6 min read

Introduction

Instructure, the provider of the ubiquitous Canvas Learning Management System (LMS), has officially disclosed a cybersecurity incident. While the company actively investigates the scope and impact, defenders in the education sector must operate under the assumption of potential unauthorized access to sensitive student and faculty data.

Given the vast repository of Personally Identifiable Information (PII) and intellectual property housed within Canvas instances, this incident represents a high-value target for threat actors. The immediate priority for security teams is to detect anomalous access patterns, identify potential data exfiltration activity, and audit administrative configurations before the vendor releases specific technical indicators.

Technical Analysis

Affected Products:

  • Canvas LMS (SaaS): Primary cloud-hosted learning platform.
  • Canvas LMS (On-Premises): Self-hosted instances (less common, but potentially vulnerable if related to an upstream supply chain issue).

Nature of the Incident: As of the initial disclosure, specific CVEs or exploitation methods have not been publicly detailed. However, incidents involving major EdTech platforms typically involve one of two vectors:

  1. Account Takeover (ATO): Credential stuffing or session hijacking targeting administrative accounts.
  2. Data Scraping/Exfiltration: Abuse of legitimate API endpoints or automated tools (e.g., PowerShell, Python) to bulk export grades, rosters, or submitted assignments.

Exploitation Status: Active investigation is ongoing. Until Instructure confirms the root cause, defenders must widen their detection net to cover "Living-off-the-Land" (LotL) techniques often used to scrape SaaS data without triggering standard malware alerts.

Detection & Response

The following detection logic focuses on identifying unauthorized automation and data scraping behaviors targeting Canvas endpoints. Since specific IoCs are pending, these rules target the mechanism of compromise rather than a specific malware hash.

SIGMA Rules

YAML
---
title: Potential Canvas Data Scraping via Command Line
id: 8a3b2c11-7d4e-4a9f-8c1d-2e5f6a7b8c9d
status: experimental
description: Detects potential scraping of Canvas LMS data via command-line utilities like PowerShell or Python accessing known Canvas domains.
references:
  - https://community.canvaslms.com/t5/Canvas-Admin-Guide/How-do-I-use-the-API-Audit-Log/ta-p/141
author: Security Arsenal
date: 2024/10/16
tags:
  - attack.collection
  - attack.t1119
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith:
      - '\powershell.exe'
      - '\pwsh.exe'
      - '\python.exe'
      - '\curl.exe'
      - '\wget.exe'
    CommandLine|contains:
      - 'instructure.com'
      - 'canvas.instructure.com'
      - 'api/v1/'
  condition: selection
falsepositives:
  - Legitimate administrative scripts or API testing by IT staff
level: medium
---
title: Suspicious Canvas Admin Login from Non-Corporate IP
id: 9b4c3d22-8e5f-5b0a-9d2e-3f6a7b8c9d0e
status: experimental
description: Detects successful logins to Canvas Admin panel from IP addresses not geolocated near the organization's HQ or known VPN ranges (requires Proxy or Firewall logs).
references:
  - https://attack.mitre.org/techniques/T1078/
author: Security Arsenal
date: 2024/10/16
tags:
  - attack.initial_access
  - attack.t1078
logsource:
  category: proxy
  product: firewall
detection:
  selection:
    c-uri|contains: '/accounts/'
    c-uri|contains: '/users/'
    sc-status: 200
    method: POST
  filter_known_admin_tools:
    c-useragent|contains:
      - 'Mozilla/5.0'
  # Note: IP filtering must be customized to the specific org's CIDR blocks in the implementation
  condition: selection and not filter_known_admin_tools
falsepositives:
  - Legitimate remote administration by traveling staff
level: high

KQL (Microsoft Sentinel / Defender)

These queries hunt for anomalous usage patterns indicative of data exfiltration or account compromise.

KQL — Microsoft Sentinel / Defender
// Hunt for bulk API calls to Canvas from a single user indicating potential scraping
let Lookback = 1d;
DeviceProcessEvents
| where Timestamp > ago(Lookback)
| where ProcessCommandLine has_any("canvas", "instructure")
| where FileName in~ ("powershell.exe", "python.exe", "cmd.exe", "curl.exe")
| summarize count(), arg_max(Timestamp, *) by DeviceName, AccountName, InitiatingProcessFileName
| where count_ > 10 // Threshold for automation
| project Timestamp, DeviceName, AccountName, ProcessCommandLine
| order by Timestamp desc
;

// Check Sign-in Logs for Canvas Admin failures (ATO precursors)
SigninLogs
| where AppDisplayName contains "Canvas"
| where ResultType == 50126 or ResultType == 50053 // Invalid password or Account locked
| summarize FailedAttempts = count() by UserPrincipalName, IPAddress, Location
| where FailedAttempts > 5
| project UserPrincipalName, IPAddress, Location, FailedAttempts

Velociraptor VQL

Hunt for processes on endpoints that may be interacting with Canvas APIs outside of a standard web browser context.

VQL — Velociraptor
-- Hunt for non-browser processes connecting to Canvas domains
SELECT Pid, Name, CommandLine, Exe, Username
FROM pslist()
WHERE Name NOT IN ('chrome.exe', 'firefox.exe', 'msedge.exe', 'iexplore.exe', 'safari.exe')
  AND CommandLine =~ '(?i)instructure\.com'

Remediation Script (PowerShell)

This script assists administrators in auditing for exposed API keys in environment variables and checking for recent PowerShell activity relevant to the incident.

PowerShell
# Audit for Canvas API Keys in Environment Variables
# Threat actors often dump keys for persistence or exfil

Write-Host "[+] Auditing Environment Variables for potential API tokens..."
$envVars = Get-ChildItem Env:
$regex = "(lti_key|api_token|canvas_access|consumer_key)"

$found = $false
foreach ($var in $envVars) {
    if ($var.Value -match $regex) {
        Write-Host "[!] Suspicious Variable Found: $($var.Name)" -ForegroundColor Yellow
        $found = $true
    }
}

if (-not $found) {
    Write-Host "[*] No obvious Canvas-related tokens in user environment variables."
}

# Check PowerShell Event Logs for Canvas related web requests in last 24 hours
Write-Host "[+] Checking PowerShell Script Block Logs for Canvas access..."
$events = Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational'; ID=4104; StartTime=(Get-Date).AddHours(-24)} -ErrorAction SilentlyContinue

if ($events) {
    foreach ($event in $events) {
        if ($event.Message -match 'instructure') {
            Write-Host "[!] Canvas-related script execution detected:" -ForegroundColor Red
            Write-Host $event.Message
        }
    }
} else {
    Write-Host "[*] No recent Script Block logs found."
}

Remediation

While the investigation continues, execute the following defensive measures immediately:

  1. Force Password Reset: Enforce a password reset for all Canvas Admin and Instructor accounts. Verify that Multi-Factor Authentication (MFA) is strictly enforced and not configured for "remember this device".
  2. Audit API Access Logs: Access the Canvas Admin Panel -> Settings -> API Keys. Revoke any active API keys that are not explicitly accounted for or that show high-volume usage in the last 48 hours.
  3. Review Integrations: Check "Developer Keys" and "LTI Integrations" in Canvas settings. Remove any third-party plugins or tools that were recently added or that you do not recognize.
  4. Restrict IP Access: If possible, configure access control lists (ACLs) within Canvas or your SSO provider (e.g., Azure AD, Okta) to restrict Admin console logins to known corporate IP ranges or VPN gateways.
  5. Check Data Export: Look for recent bulk exports of grades or user lists (CSV/Excel generation) in the Canvas audit logs.

Official Advisory: Monitor Instructure's Trust Center for the official post-mortem and specific IoCs when released.

Related Resources

Security Arsenal Managed SOC Services AlertMonitor Platform Book a SOC Assessment soc-mdr Intel Hub

mdrthreat-huntingendpoint-detectionsecurity-monitoringinstructurecanvasedtechdata-exfiltration

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.