diff --git a/poetry.lock b/poetry.lock
index 443ed8a03ced811b51091fe46fd48e649aec9234..6f321f685a5b39e5170bee141611a5a048c4cea4 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -557,13 +557,13 @@ files = [
 
 [[package]]
 name = "icalendar"
-version = "6.1.1"
+version = "6.3.1"
 description = "iCalendar parser/generator"
 optional = false
 python-versions = ">=3.8"
 files = [
-    {file = "icalendar-6.1.1-py3-none-any.whl", hash = "sha256:accf3a4be9a1f89bad00e0bf14103b02cd9b02dcb9b4258eb717f39d24cf58e9"},
-    {file = "icalendar-6.1.1.tar.gz", hash = "sha256:2c44355a8f006de5ae73fa3f022a1cbe2a0de6b1607ce8879739eb887c4f3471"},
+    {file = "icalendar-6.3.1-py3-none-any.whl", hash = "sha256:7ea1d1b212df685353f74cdc6ec9646bf42fa557d1746ea645ce8779fdfbecdd"},
+    {file = "icalendar-6.3.1.tar.gz", hash = "sha256:a697ce7b678072941e519f2745704fc29d78ef92a2dc53d9108ba6a04aeba466"},
 ]
 
 [package.dependencies]
@@ -1245,4 +1245,4 @@ testing = ["coverage[toml]", "zope.event", "zope.testing"]
 [metadata]
 lock-version = "2.0"
 python-versions = "^3.9"
-content-hash = "e59743bfbf69915afa987a69b5c9e7a12f30ab797a081146ea62492e6b6a6a63"
+content-hash = "8656c0eb6a201d276747c6bd28065ece61cd0f54fcd604b8aa5f26eb193d073e"
diff --git a/pyproject.toml b/pyproject.toml
index 694ae90b09e2219515dcc539af6b488ffadbc799..bb52022413287fa6a2c26cd0abf521a1287d24e0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -22,7 +22,7 @@ Babel = "2.17.0"
 pytz = "2025.1"
 
 # services
-icalendar = "6.1.1"
+icalendar = "6.3.1"
 
 # tiles
 timeago = "1.0.16"