CVE-2026-33635
Received Received - Intake
ICS Injection Vulnerability in iCalendar Ruby Library Allows Malicious Calendar Manipulation

Publication date: 2026-03-26

Last updated on: 2026-04-10

Assigner: GitHub, Inc.

Description
iCalendar is a Ruby library for dealing with iCalendar files in the iCalendar format defined by RFC-5545. Starting in version 2.0.0 and prior to version 2.12.2, .ics serialization does not properly sanitize URI property values, enabling ICS injection through attacker-controlled input, adding arbitrary calendar lines to the output. `Icalendar::Values::Uri` falls back to the raw input string when `URI.parse` fails and later serializes it with `value.to_s` without removing or escaping `\r` or `\n` characters. That value is embedded directly into the final ICS line by the normal serializer, so a payload containing CRLF can terminate the original property and create a new ICS property or component. (It looks like you can inject via url, source, image, organizer, attach, attendee, conference, tzurl because of this). Applications that generate `.ics` files from partially untrusted metadata are impacted. As a result, downstream calendar clients or importers may process attacker-supplied content as if it were legitimate event data, such as added attendees, modified URLs, alarms, or other calendar fields. Version 2.12.2 contains a patch for the issue.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-26
Last Modified
2026-04-10
Generated
2026-05-07
AI Q&A
2026-03-27
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
icalendar_project icalendar From 2.0.0 (inc) to 2.12.2 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-93 The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

The vulnerability allows an attacker to inject arbitrary calendar lines into .ics files by exploiting unsanitized URI property values. This can lead to the modification or addition of calendar data such as attendees, URLs, or alarms, which downstream clients may process as legitimate.

While the CVE description and resources do not explicitly mention compliance with standards like GDPR or HIPAA, the integrity impact of this vulnerability is low, meaning it can alter calendar data but does not directly compromise confidentiality or availability.

However, because attacker-controlled data can be injected and processed as legitimate, organizations subject to regulations requiring data integrity and protection against unauthorized data modification (such as GDPR's data integrity principles or HIPAA's data integrity and audit requirements) could be indirectly affected if calendar data is used in regulated workflows.

No direct references to compliance impact or regulatory violations are provided in the available information.


Can you explain this vulnerability to me?

CVE-2026-33635 is a vulnerability in the Ruby library "icalendar" that deals with iCalendar files. The issue occurs in versions from 2.0.0 up to but not including 2.12.2, where the library does not properly sanitize URI property values during .ics file serialization.

Specifically, when the library tries to parse URIs using `URI.parse` and fails, it falls back to using the raw input string. This raw string is then serialized without removing or escaping carriage return (\r) or line feed (\n) characters. Because these characters are embedded directly into the ICS output, an attacker can inject CRLF sequences to terminate the current property line and create new arbitrary ICS properties or components.

This means an attacker can add malicious calendar lines such as additional attendees, modified URLs, alarms, or other calendar fields by injecting specially crafted input into URI-related properties like url, source, image, organizer, attach, attendee, conference, or tzurl.

The vulnerability is fixed in version 2.12.2 by encoding control characters in URIs to prevent injection.


How can this vulnerability impact me? :

This vulnerability can impact you if your application generates .ics calendar files from partially untrusted metadata that includes URI properties.

An attacker can exploit this flaw to inject arbitrary calendar lines into the .ics file, which downstream calendar clients or importers may process as legitimate event data.

  • Injection of additional attendees to calendar events.
  • Modification of URLs or other URI-related properties.
  • Insertion of alarms or other calendar fields that were not intended by the original event creator.

Such unauthorized modifications can lead to misinformation, confusion, or manipulation of calendar data, potentially disrupting scheduling or causing users to act on maliciously altered information.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability involves injection of CRLF characters into URI property values in .ics files generated by the icalendar Ruby library. Detection involves inspecting .ics files generated by your applications for unexpected or maliciously crafted URI fields containing carriage return (\r) or line feed (\n) characters that could lead to ICS injection.

You can detect suspicious .ics files by searching for CR or LF characters in URI-related properties such as url, source, image, organizer, attach, attendee, conference, or tzurl.

Example commands to detect such injection attempts in .ics files or network captures include:

  • Using grep or similar tools to find CR or LF characters in URI fields within .ics files: grep -P '\r|\n' suspicious_file.ics
  • Searching for suspicious URI property lines in .ics files: grep -E '(url|source|image|organizer|attach|attendee|conference|tzurl):' suspicious_file.ics | grep -P '\r|\n'
  • Using network packet capture tools (e.g., tcpdump or Wireshark) to capture .ics file downloads or calendar data and inspecting for injected CRLF sequences in URI fields.

Since the vulnerability arises from unsanitized input in URI serialization, monitoring application logs or input sources for unexpected CR or LF characters in URI metadata can also help detect attempts.


What immediate steps should I take to mitigate this vulnerability?

The primary mitigation is to upgrade the icalendar Ruby gem to version 2.12.2 or later, where the vulnerability is patched by properly percent-encoding ASCII control characters (including CR and LF) in URI property values during serialization.

If upgrading immediately is not possible, you should sanitize or validate all input metadata used to generate .ics files, ensuring that URI fields do not contain raw carriage return or line feed characters.

Additional mitigation steps include:

  • Reject or escape CR (\r) and LF (\n) characters in any URI-related input before passing it to the icalendar library.
  • Implement input validation and sanitization on all untrusted metadata sources that contribute to calendar file generation.
  • Monitor calendar files and downstream clients for unexpected or unauthorized calendar entries that could indicate exploitation.

These steps reduce the risk of ICS injection attacks that could modify calendar data or add malicious entries.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart