Skip to content
Heist/ feed
Back to feed
Medium

Wallos: iCalendar Injection via CRLF in Subscription Name/Notes Export

Type: advisorySources: OSV

Wallos is an open-source, self-hostable personal subscription tracker. Prior to version 5.0.0, Wallos allows authenticated users to inject arbitrary iCalendar properties and events into their exported .ics feed by embedding raw CRLF sequences in subscription names or notes. Because the input validation layer only encodes HTML metacharacters but never strips newlines, and the export layer decodes those entities back before writing iCal output, an attacker with any valid account can craft a subscription whose name breaks out of the current VEVENT block and inserts fully attacker-controlled calendar events — including spoofed organizers, arbitrary email addresses in ATTENDEE properties, and misleading event content — into any calendar application subscribed to that feed. This issue has been patched in version 5.0.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-77353
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 17:19 UTC · Revision 1

Source evidence

Wallos: iCalendar Injection via CRLF in Subscription Name/Notes Export

core-osv · Original source

Published 31 Aug 2026, 21:22 UTC

Wallos is an open-source, self-hostable personal subscription tracker. Prior to version 5.0.0, Wallos allows authenticated users to inject arbitrary iCalendar properties and events into their exported .ics feed by embedding raw CRLF sequences in subscription names or notes. Because the input validation layer only encodes HTML metacharacters but never strips newlines, and the export layer decodes those entities back before writing iCal output, an attacker with any valid account can craft a subscription whose name breaks out of the current VEVENT block and inserts fully attacker-controlled calendar events — including spoofed organizers, arbitrary email addresses in ATTENDEE properties, and misleading event content — into any calendar application subscribed to that feed. This issue has been patched in version 5.0.0.

osv:CVE-2026-77353
Complete source record
{
  "id": "efa5f5011d5ba56c0f2e2cad70e382b01293ab7af47401a0d181f2783a359d96",
  "url": "https://osv.dev/vulnerability/CVE-2026-77353",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Wallos: iCalendar Injection via CRLF in Subscription Name/Notes Export",
    "summary": "Wallos is an open-source, self-hostable personal subscription tracker. Prior to version 5.0.0, Wallos allows authenticated users to inject arbitrary iCalendar properties and events into their exported .ics feed by embedding raw CRLF sequences in subscription names or notes. Because the input validation layer only encodes HTML metacharacters but never strips newlines, and the export layer decodes those entities back before writing iCal output, an attacker with any valid account can craft a subscription whose name breaks out of the current VEVENT block and inserts fully attacker-controlled calendar events — including spoofed organizers, arbitrary email addresses in ATTENDEE properties, and misleading event content — into any calendar application subscribed to that feed. This issue has been patched in version 5.0.0.",
    "evidence": "osv:CVE-2026-77353",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-77353",
      "aliases": [
        "CVE-2026-77353",
        "GHSA-q2r8-m9wm-5547"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/ellite/wallos",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "7a9e4a6ba9155a9e83a91781d9b3d66d69a96f8c"
                },
                {
                  "fixed": "11eaf402e841a628c68a805694227ce66c45f6f3"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.0.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "11eaf402e841a628c68a805694227ce66c45f6f3"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "7a9e4a6ba9155a9e83a91781d9b3d66d69a96f8c"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v5.0.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.9.6",
            "v4.9.5",
            "v4.9.4",
            "v4.9.3",
            "v4.9.2",
            "v4.9.1",
            "v4.9.0",
            "v4.8.4",
            "v4.8.3",
            "v4.8.2",
            "v4.8.1",
            "v4.8.0",
            "v4.7.3",
            "v4.7.2",
            "v4.7.1",
            "v4.7.0",
            "v4.6.2",
            "v4.6.1",
            "v4.6.0",
            "v4.5.0",
            "v4.4.1",
            "v4.4.0",
            "v4.3.0",
            "v4.2.0",
            "v4.1.1",
            "v4.1.0",
            "v4.0.0",
            "v3.3.1",
            "v3.3.0",
            "v3.2.0",
            "v3.1.1",
            "v3.1.0",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0",
            "v2.52.2",
            "v2.52.1",
            "v2.52.0",
            "v2.51.1",
            "v2.51.0",
            "v2.50.1",
            "v2.50.0",
            "v2.49.1",
            "v2.49.0",
            "v2.48.1",
            "v2.48.0",
            "v2.47.1",
            "v2.47.0",
            "v2.46.1",
            "v2.46.0",
            "v2.45.2",
            "v2.45.1",
            "v2.45.0",
            "v2.44.1",
            "v2.44.0",
            "v2.43.1",
            "v2.43.0",
            "v2.42.2",
            "v2.42.1",
            "v2.42.0",
            "v2.41.0",
            "v2.40.0",
            "v2.39.1",
            "v2.39.0",
            "v2.38.3",
            "v2.38.2",
            "v2.38.1",
            "v2.38.0",
            "v2.37.1",
            "v2.37.0",
            "v2.36.2",
            "v2.36.1",
            "v2.36.0",
            "v2.35.0",
            "v2.34.0",
            "v2.33.1",
            "v2.33.0",
            "v2.32.0",
            "v2.31.1",
            "v2.31.0",
            "v2.30.1",
            "v2.30.0",
            "v2.29.2",
            "v2.29.1",
            "v2.29.0",
            "v2.28.0",
            "v2.27.3",
            "v2.27.2",
            "v2.27.1",
            "v2.27.0",
            "v2.26.0",
            "v2.25.0",
            "v2.24.1",
            "v2.24.0",
            "v2.23.2",
            "v2.23.1",
            "v2.23.0",
            "v2.22.1",
            "v2.22.0",
            "v2.21.3",
            "v2.21.2",
            "v2.21.1",
            "v2.21.0",
            "v2.20.1",
            "v2.20.0",
            "v2.19.3",
            "v2.19.2",
            "v2.19.1",
            "v2.19.0",
            "v2.18.0",
            "v2.17.0",
            "v2.16.1",
            "v2.16.0",
            "v2.15.0",
            "v2.14.2",
            "v2.14.1",
            "v2.14.0",
            "v2.13.0",
            "v2.12.0",
            "v2.11.2",
            "v2.11.1",
            "v2.11.0",
            "v2.10.0",
            "v2.9.0",
            "v2.8.0",
            "v2.7.0",
            "v2.6.1",
            "v2.6.0",
            "v2.5.2",
            "v2.5.1",
            "v2.5.0",
            "v2.4.2",
            "v2.4.1",
            "v2.4.0",
            "v2.3.0",
            "v2.2.0",
            "v2.1.0",
            "v2.0.0",
            "v1.29.1",
            "v1.29.0",
            "v1.28.0",
            "v1.27.2",
            "v1.27.1",
            "v1.27.0",
            "v1.26.2",
            "v1.26.1",
            "v1.26.0",
            "v1.25.1",
            "v1.25.0",
            "v1.24.0",
            "v1.23.0",
            "v1.22.0",
            "v1.21.1",
            "v1.21.0",
            "v1.20.2",
            "v1.20.1",
            "v1.20.0",
            "v1.19.0",
            "v1.18.3",
            "v1.18.2",
            "v1.18.1",
            "v1.18.0",
            "v1.17.3",
            "v1.17.2",
            "v1.17.1",
            "v1.17.0",
            "v1.16.3",
            "v1.16.2",
            "v1.16.1",
            "v1.16.0",
            "v1.15.3",
            "v1.15.2",
            "v1.15.1",
            "v1.15.0",
            "v1.14.1",
            "v1.14.0",
            "v1.13.0",
            "v1.12.1",
            "v1.12.0",
            "v1.11.3",
            "v1.11.2",
            "v1.11.1",
            "v1.11.0",
            "v1.10.0",
            "v1.9.1",
            "v1.9.0",
            "v1.8.3",
            "v1.8.2",
            "v1.8.1",
            "v1.8.0",
            "v1.7.0",
            "v1.6.0",
            "v1.5.0",
            "v1.4.1",
            "v1.4.0",
            "v1.3.1",
            "v1.3.0",
            "v1.2.0",
            "v1.1.0",
            "v1.0.1",
            "v1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-77353.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.876726783Z",
      "provider": "osv",
      "references": [
        "https://github.com/ellite/Wallos/releases/tag/v5.0.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77353.json",
        "https://github.com/ellite/Wallos/security/advisories/GHSA-q2r8-m9wm-5547",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-77353",
        "https://github.com/ellite/Wallos/commit/11eaf402e841a628c68a805694227ce66c45f6f3"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-116",
          "CWE-74"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77353.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-77353",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 505270,
  "published_at": "2026-08-31T21:22:35.147+00:00"
}