At ClassLink, our commitment to creating a secure digital environment for the educational community is woven into the fabric of our operations. Our pledge to Secure by Design principles is not just a statement; it's a fundamental approach to building and maintaining our software solutions. This dedication is exemplified through our transparent public disclosure of vulnerabilities, a practice we uphold with unwavering commitment.

By participating in this pledge, ClassLink is pledging publicly to the following actions:

Principle 1

Take Ownership of Customer Security Outcomes

Principle 2

Embrace Radical Transparency and Accountability

Principle 3

Lead From the Top

ClassLink’s Vulnerability Disclosure Policy

Security Audit Logs

ClassLink will make security audit logs available to its customers at no additional charge above the base cost of its software solutions to ensure that tenant administrators have the ability to see and react to security events affecting their production environment.

Security Audit Logs

Vulnerability Testing

ClassLink conducts internal and external quarterly vulnerability assessments, and authorizes volunteer testing. Findings are anonymously reported, promptly investigated, and recorded. Remediation priorities are set based on threat levels. Vulnerabilities unresolved after 90 days are continuously monitored.

Vulnerability Testing

Vulnerability Disclosure

ClassLink publicly discloses any mitigated vulnerabilities, including the disclosure of Common Vulnerabilities and Exposures (CVE). Each CVE entry will feature a Common Weakness Enumeration (CWE) field, providing insights into the root cause of the vulnerability for enhanced understanding and transparency.

Vulnerability Disclosure

Security Related Statistics & Trends

ClassLink analyzes diverse security data, including MFA adoption, DDoS incidents, breaches, downtime, policy violations, and more. Calculated statistics are published on a public webpage for transparency.

Security Related Statistics & Trends

Vulnerability List

Sort by...
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

XSS in ClassLink Management Console

Vulnerability #

CL-0038

Status

Resolved

Discovery Date

7/24/2024

Mitigation Date

9/12/2024

CWE Identifier

CWE-79, CWE-80

Description

An XSS vulnerability was discovered in the CMC. An attacker with TA permissions could inject custom Javascript into frontend applications.

Root Cause: Inputs were not safely encoded before being inserted back into the HTML.

Effect on Production

No effect on production environment.

Affected Services:

CMC

Parameter Pollution on Login Page

Vulnerability #

CL-0037

Status

Resolved

Discovery Date

7/16/2024

Mitigation Date

8/1/2024

CWE Identifier

CWE-235

Description

The application accepted multiple redirect URLs in the parameter, and if sent in a certain order, would result in an open redirect in the OAuth2 flow.

Root Cause: Improper validation for URL parameters.

Effect on Production

An authoirzation code leak can lead to account takeover.

Affected Services:

Legacy Login

OAuth2 Redirect Bypass

Vulnerability #

CL-0036

Status

Resolved

Discovery Date

7/16/2024

Mitigation Date

8/1/2024

CWE Identifier

CWE-601, CWE-20

Description

A specially crafted URL could evade the validator for the OAuth callback and causes the application to accept non-ClassLink domains.

Root Cause: Improper input validation allowed non-Classlink domains to pass as valid redirects.

Effect on Production

An authoirzation code leak can lead to account takeover.

Affected Services:

SLIP
Legacy Login

XSS in SAML Console

Vulnerability #

CL-0035

Status

Resolved

Discovery Date

7/10/2024

Mitigation Date

7/23/2024

CWE Identifier

CWE-79, CWE-80

Description

An XSS vulnerability was discovered when editing the name of a SAML Connection. An attacker with TA permissions could inject custom Javascript into frontend applications.

Root Cause: Certain inputs were not safely encoded before being inserted back into the HTML of the Edit Provider slideover.

Effect on Production

No effect on production environment.

Affected Services:

SAML Console

SSRF in SAML Console

Vulnerability #

CL-0034

Status

Resolved

Discovery Date

7/2/2024

Mitigation Date

8/2/2024

CWE Identifier

CWE-918

Description

The metadata url field did not filter for non-routable IP addresses and would cause the application to send requests to internal infrastructure.

Root Cause: Improper filtering on the metadata url field.

Effect on Production

Could send requests to internal services.

Affected Services:

SAML Console

Subdomain Takeover

Vulnerability #

CL-0033

Status

Resolved

Discovery Date

6/26/2024

Mitigation Date

6/27/2024

CWE Identifier

CWE-16

Description

Some DNS records lingered which pointed to IP addresses no longer in use. This allows an attacker to host their own applications using a oneroster.com domain.

Root Cause: Stale DNS records.

Effect on Production

No effect on production environment.

Affected Services:

DNS

Bypass Wallpaper Upload Restrictions With Temporary URL

Vulnerability #

CL-0032

Status

Resolved

Discovery Date

5/20/2024

Mitigation Date

6/6/2024

CWE Identifier

CWE-346

Description

It was possible to bypass a building's wallpaper restrictions and use any image as a wallpaper even if custom images were not allowed. Uploading a custom avatar picture generated a temporary URL on the same CDN as approved wallpapers and it would be accepted.

Root Cause: Any resource hosted on the CDN was trusted when it should be restricted to images in a specific directory.

Effect on Production

Defacement

Affected Services:

MyApps

SQL Error in ClassLink Management Console

Vulnerability #

CL-0031

Status

Resolved

Discovery Date

4/11/2024

Mitigation Date

4/15/2024

CWE Identifier

CWE-89

Description

A vulnerability was discovered in the ClassLink Management Console which would cause a database error if certain SQL metacharacters were sent. This endpoint requires an account with TA permissions to access and did not reveal contents of the database.

Root Cause: Improper neutralization of special elements used in a SQL command ('SQL Injection')

Effect on Production

Database errors due to malformed SQL statements.

Affected Services:

Backend Services

Open Redirect on QuickCard Login Page

Vulnerability #

CL-0030

Status

Resolved

Discovery Date

2/15/2024

Mitigation Date

3/1/2024

CWE Identifier

CWE-601

Description

QuickCard Login page accepts a "Custom URL" parameter which is usually returning to a district's Login homepage. However arbitrary URLs are allowed. If a user clicks "Return to Login Page" they would be redirected to whatever site is in the custom url parameter.

Root Cause: Open redirect

Effect on Production

No effect on production environment

Affected Services:

LaunchPad

Misconfiguration in Ruby Example on Help Article Page

Vulnerability #

CL-0029

Status

Resolved

Discovery Date

3/4/2024

Mitigation Date

3/5/2024

CWE Identifier

CWE-16

Description

Help Article has examples on how to access Classlink service progrmatically with various languages. The Ruby example was set to not verify certificate chains which could open up applications to MITM attacks.

Root Cause: Misconfiguration in Ruby example on Help Article page

Effect on Production

No effect on production environment

Affected Services:

Help Article

Server Side Request Forgery

Vulnerability #

CL-0028

Status

Resolved

Discovery Date

3/4/2024

Mitigation Date

4/1/2024

CWE Identifier

CWE-918

Description

It was possible to inject arbitrary Host headers which would be processed by the proxy, leading to SSRF.

Root Cause: Improper input validation

Effect on Production

SSRF could access internal resources (e.g., AWS metadata configuration) for the instance

Affected Services:

CMC

Certain Admin Endpoints Accessible by Student Users

Vulnerability #

CL-0027

Status

Resolved

Discovery Date

3/4/2024

Mitigation Date

4/19/2024

CWE Identifier

CWE-863

Description

Certain GET Endpoints would improperly respond to session cookies given to non TA users instead of returning 403 Forbidden.

Root Cause: Improperly configured access control on certain GET endpoints

Effect on Production

Could leak Tenant metadata (no roster data or PII could be leaked)

Affected Services:

CMC

Plaintext OAuth Authorization Code Leak

Vulnerability #

CL-0026

Status

Resolved

Discovery Date

3/4/2024

Mitigation Date

4/24/2024

CWE Identifier

CWE-601

Description

OAuth Login endpoints would accept callback URLs with an HTTP:// scheme. Only Classlink domains are valid redirect URLs however an attacker positioned in an MITM attack could redirect to a ClassLink domain with an HTTP:// scheme and leak the authorization code.

Root Cause: OAuth redirect url imporperly supported both HTTP and HTTPS schemes.

Effect on Production

An authorization code leak can lead to account takeover.

Affected Services:

LaunchPad

Database Schemas for SIS Systems on Public S3 Bucket

Vulnerability #

CL-0025

Status

Resolved

Discovery Date

3/4/2024

Mitigation Date

4/18/2024

CWE Identifier

CWE-552

Description

Database Schemas and SQL scripts for two SIS systems were publicly available on an S3 bucket. These were not schemas for Classlink databases.

Root Cause: Originally used as examples for Help Articles describing the process of migrating data from different SIS systems.

Effect on Production

No effect on production environment

Affected Services:

Backend Services

Answers to Secret Questions Not Validated for Minimum Length Requirements

Vulnerability #

CL-0024

Status

Resolved

Discovery Date

3/4/2024

Mitigation Date

4/25/2024

CWE Identifier

CWE-20

Description

Checks were in place on the client-side to ensure secret answers met minimum length requirements. However these same checks were not performed on the backend.

Root Cause: Verification on client-side instead of server-side

Effect on Production

No effect on production environment

Affected Services:

LaunchPad

S3 Bucket With CI/CD Scripts Was Public

Vulnerability #

CL-0023

Status

Resolved

Discovery Date

3/4/2024

Mitigation Date

3/4/2024

CWE Identifier

CWE-200

Description

An Amazon S3 bucket with bash scripts for the internal CI/CD pipeline was publicly readable on the internet.

Root Cause: CI/CD scripts were placed outside a private folder restricted to internal access.

Effect on Production

One script contained a username and password for a beanstalkapp service account, which could affect the CI/CD pipeline for projects on beanstalkapp. The service account has been decommissioned.

Affected Services:

Backend Services

Password Locker Leaks App Passwords While Editing

Vulnerability #

CL-0022

Status

Resolved

Discovery Date

2/7/2024

Mitigation Date

3/27/2024

CWE Identifier

CWE-200

Description

Passwords for LaunchPad applications could be leaked from the App Passwords window when viewing the HTML source directly.

Root Cause: App passwords were retrieved and decrypted by the frontend.

Effect on Production

No effect on production environment; certain apps that require passwords could have the password leaked.

Affected Services:

LaunchPad

ClassLink Administrator Can Create an Administrator Profile

Vulnerability #

CL-0021

Status

Resolved

Discovery Date

1/2/2024

Mitigation Date

2/1/2024

CWE Identifier

CWE-840, CWE-266

Description

A ClassLink Administrator could create another administrator profile within the CMC.

Root Cause: Improper server-side input validation was occurring.

Effect on Production

Creating another admin profile could confuse a ClassLink Administrator and make auditing admin actions more difficult.

Affected Services:

CMC

Roster Server Authentication Token Does Not Expire

Vulnerability #

CL-0020

Status

Resolved

Discovery Date

3/24/2023

Mitigation Date

5/2/2023

CWE Identifier

CWE-613

Description

Bearer tokens used to authenticate a user to Roster Server would not expire.

Root Cause: An UNIX timestamp was being set for the expiration date instead of a UTC timestamp, causing the token to never expire.

Effect on Production

A token that does not expire could be stolen by an attacker and utilized in a replay attack.

Affected Services:

Roster Server

Roster Console Test Auth Feature Can Port Scan Internal Network

Vulnerability #

CL-0018

Status

Resolved

Discovery Date

4/13/2023

Mitigation Date

4/19/2023

CWE Identifier

CWE-918

Description

The Test Auth feature on the File Exports page accepts internal IP addresses (e.g., 10.0.0.0/8) or hostnames and a port number and tests connectivity to the system. The server responses reveal whether an IP/Port combination is active.

Root Cause: Server-side rate limiting was not enforced.

Effect on Production

An attacker with Tenant Administrator (TA) credentials could port scan servers on an internal network during the reconnaissance phase of an attack to develop a network diagram.

Affected Services:

Roster Server

Heap Overflow Vulnerability on nginx

Vulnerability #

CL-0017

Status

Resolved

Discovery Date

4/23/2023

Mitigation Date

5/12/2023

CWE Identifier

CWE-122, CWE-1395

Description

nginx versions from 0.6.8 - 1.20.0 are vulnerable to Heap Overflow if using the nginx DNS resolver and sending queries to an attacker-controlled DNS server. ClassLink reviewed the system configuration and confirmed it is not using the nginx DNS resolver and is not exploitable. However, the newest versions of AL2 and AL2023 use the most recent patched nginx version, and all instances have been updated.

Root Cause: Amazon Marketplace machine images for default packages with known vulnerabilities need to be reviewed.

Effect on Production

ClassLink reviewed the system configuration and confirmed cloud instances used the system's default DNS resolver and not the nginx resolver. There was no effect on the production environment.

Affected Services:

Underlying Webserver

XSS in SAML Console

Vulnerability #

CL-0015

Status

Resolved

Discovery Date

1/2/2024

Mitigation Date

2/1/2024

CWE Identifier

CWE-79, CWE-80

Description

When creating a new connection on the SAML Console page, the Name attribute was not being sanitized for JavaScript and HTML attributes. Upon saving, this would trigger custom JavaScript whenever the SAML Console page was opened.

Root Cause: Cross-site scripting sanitization wasn't extended to the SAML Console page.

Effect on Production

No effect on production environment

Affected Services:

SAML Console

XSS in Public Portal

Vulnerability #

CL-0014

Status

Resolved

Discovery Date

1/2/2024

Mitigation Date

1/2/2024

CWE Identifier

CWE-79, CWE-80

Description

The Public Portal validator was not checking for HTML event handlers or JavaScript, which could be directly injected into an intercepted HTTP request. A ClassLink Administrator could intercept and modify their request to edit the Public Portal and include custom JavaScript, which would be executed on the Public Portal.

Root Cause: Cross-site scripting sanitization wasn't extended to the CMC Public Portal dashboard.

Effect on Production

No effect on production environment

Affected Services:

CMC

XSS in AUP

Vulnerability #

CL-0012

Status

Resolved

Discovery Date

9/22/2023

Mitigation Date

9/26/2023

CWE Identifier

CWE-79, CWE-80

Description

The title and message body of the Acceptable Use Policy (AUP) were not being sanitized for JavaScript and HTML attributes.

Root Cause: Cross-site scripting sanitization wasn't extended to the AUP title and message body.

Effect on Production

No effect on production environment

Affected Services:

CMC

My Files Limited Metadata

Vulnerability #

CL-0010

Status

Resolved

Discovery Date

9/12/2023

Mitigation Date

11/17/2023

CWE Identifier

CWE-284

Description

It is possible to manipulate the folder_id parameter requests to My Files to look up other arbitrary folder IDs. The server would return information, like the name of the folder and the names of files within it. However, it was not possible to download files the user did not have permission to access.

Root Cause: Access control measures should check for user permissions on all endpoints, not just downloading files.

Effect on Production

Metadata of files and folders within My Files could be leaked, specifically the names of folders and files.

Affected Services:

My Files

XSS in CMC Users

Vulnerability #

CL-0008

Status

Resolved

Discovery Date

9/12/2023

Mitigation Date

9/21/2023

CWE Identifier

CWE-79, CWE-80

Description

When editing or creating a new user via the Edit Users slide-over on the Users page, the First Name, Last Name, and Display Name value fields were not being sanitized for JavaScript and HTML attributes. After saving a user, JavaScript would trigger when viewing the dashboard.

Root Cause: Cross-site scripting sanitization wasn't extended to specific value fields on the Users dashboard.

Effect on Production

No effect on production environment

Affected Services:

CMC

XSS in CMC Beta Notifications Module

Vulnerability #

CL-0007

Status

Resolved

Discovery Date

9/12/2023

Mitigation Date

10/21/2023

CWE Identifier

CWE-79, CWE-80

Description

When previewing a notification in the Notifications Module (Beta), the preview window was not sanitizing the notification's title or body for cross-site scripting (XSS), which allows custom JavaScript. XSS filtering occurs on the dashboard and other notification windows, but it needs to be extended to the preview window, as well.

Root Cause: Cross-site scripting sanitization was not extended to the notification preview window.

Effect on Production

No effect on production environment

Affected Services:

CMC

XSS in CMC Groups

Vulnerability #

CL-0006

Status

Resolved

Discovery Date

9/12/2023

Mitigation Date

9/21/2023

CWE Identifier

CWE-79, CWE-80

Description

On the Groups page, the Wallpaper and Group Name fields were not sanitized for cross-site scripting (XSS) before reflecting the input into HTML. This allowed custom JavaScript to be injected into both parameters. When editing a group, custom JavaScript was triggered when the slide-over opened.

Root Cause: Cross-site scripting was not being checked on all possible inputs.

Effect on Production

No effect on production environment

Affected Services:

CMC

XSS in Notifications

Vulnerability #

CL-0005

Status

Resolved

Discovery Date

5/1/2023

Mitigation Date

7/26/2023

CWE Identifier

CWE-79, CWE-80

Description

Certain HTML attributes were not sanitized in the notification body, which can lead to custom JavaScript injection (XSS).

Root Cause: Cross-site scripting sanitization was not robust enough.

Effect on Production

No effect on production environment

Affected Services:

CMC

OneClick Extension Domain

Vulnerability #

CL-0004

Status

Resolved

Discovery Date

6/13/2023

Mitigation Date

8/17/2023

CWE Identifier

CWE-840

Description

A flaw in validation logic allowed the ClassLink OneClick Extension to run on non-ClassLink domains.

Root Cause: Improper URL filtering with a regular expression (RegEx) caused a flaw in validation logic.

Effect on Production

No effect on production environment

Affected Services:

OneClick Browser Extension

Directory Traversal Vulnerability Preprocessor

Vulnerability #

CL-0003

Status

Resolved

Discovery Date

3/24/2023

Mitigation Date

4/13/2023

CWE Identifier

CWE-22

Description

The Append Files option in the Roster Server Preprocessor allowed user-supplied input to create a path to retrieve files outside the DailyImport and SIS Import folders, but it did not properly strip path symbols (e.g., ../). The backend automatically appends a comma-separated value (CSV) file extension to the filename, which limits what files can be targeted. It was not possible to download arbitrary files via this endpoint.

Root Cause: Improper sanitization of filename characters allowed for path symbols (e.g., ../).

Effect on Production

There was no impact on production systems with only this exploit. While it is possible to reach arbitrary files with directory traversal, it is limited to CSV files and would require a Roster Server sync to read the file. These files can't be directly downloaded from the server.

Affected Services:

Roster Server

Directory Traversal Vulnerability Export Log

Vulnerability #

CL-0002

Status

Resolved

Discovery Date

3/24/2023

Mitigation Date

4/13/2023

CWE Identifier

CWE-22

Description

When exporting logs from Roster Server, the filename parameter was not being stripped of path characters. This allowed for directory traversal outside the log directory. The OneRoster®/Roster Server user does not run as root.

Root Cause: Improper sanitization on the filename parameter allowed for path characters.

Effect on Production

Directory traversal on the Amazon Web Services (AWS)-hosted Roster Server instances can reveal files outside the Roster Server log directory.

Affected Services:

Roster Server

XSS on CMC User's Page

Vulnerability #

CL-0001

Status

Resolved

Discovery Date

3/24/2023

Mitigation Date

5/1/2023

CWE Identifier

CWE-79, CWE-80

Description

HTML is accepted for values (e.g., Display Name, First Name, Last Name) in the Edit User slide-over on the Users page. However, certain HTML attributes were not sanitized before being injected into the slide-over, triggering custom JavaScript.

Root Cause: Cross-site scripting sanitization was not checking for HTML attributes.

Effect on Production

No effect on production environment

Affected Services:

CMC