CVE-2026-41412 (GCVE-0-2026-41412)
Vulnerability from cvelistv5 – Published: 2026-06-02 22:51 – Updated: 2026-06-03 14:02
VLAI
EPSS
VEX
Title
alf.io vulnerable to Arbitrary File Read and Exfil via simpleHttpClient Extension Script
Summary
alf.io is an open source ticket reservation system for conferences, trade shows, workshops, and meetups. Prior to version 2.0-M5-2606, the alf.io extension sandbox injects a fully-functional HTTP client (`simpleHttpClient`) into every extension script's scope. The `postFileAndSaveResponse()` method accepts an arbitrary filesystem path as its `file` parameter and reads the file contents using `new FileInputStream(file)` with no path validation, directory restriction, or allowlist. A malicious extension script can read any file accessible to the JVM process user and exfiltrate it to an attacker-controlled server via HTTP POST. Version 2.0-M5-2606 patches the issue.
Severity
4.9 (Medium)
SSVC
Exploitation: poc
Automatable: no
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
Assigner
References
1 reference
| URL | Tags |
|---|---|
| https://github.com/alfio-event/alf.io/security/ad… | x_refsource_CONFIRM |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| alfio-event | alf.io |
Affected:
< 2.0-M5-2606
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-41412",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-06-03T14:01:59.867408Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-06-03T14:02:05.598Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/alfio-event/alf.io/security/advisories/GHSA-6m62-53cw-4373"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "alf.io",
"vendor": "alfio-event",
"versions": [
{
"status": "affected",
"version": "\u003c 2.0-M5-2606"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "alf.io is an open source ticket reservation system for conferences, trade shows, workshops, and meetups. Prior to version 2.0-M5-2606, the alf.io extension sandbox injects a fully-functional HTTP client (`simpleHttpClient`) into every extension script\u0027s scope. The `postFileAndSaveResponse()` method accepts an arbitrary filesystem path as its `file` parameter and reads the file contents using `new FileInputStream(file)` with no path validation, directory restriction, or allowlist. A malicious extension script can read any file accessible to the JVM process user and exfiltrate it to an attacker-controlled server via HTTP POST. Version 2.0-M5-2606 patches the issue."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 4.9,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "HIGH",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-22",
"description": "CWE-22: Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-73",
"description": "CWE-73: External Control of File Name or Path",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-06-02T22:51:36.358Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/alfio-event/alf.io/security/advisories/GHSA-6m62-53cw-4373",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/alfio-event/alf.io/security/advisories/GHSA-6m62-53cw-4373"
}
],
"source": {
"advisory": "GHSA-6m62-53cw-4373",
"discovery": "UNKNOWN"
},
"title": "alf.io vulnerable to Arbitrary File Read and Exfil via simpleHttpClient Extension Script"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-41412",
"datePublished": "2026-06-02T22:51:36.358Z",
"dateReserved": "2026-04-20T15:32:33.812Z",
"dateUpdated": "2026-06-03T14:02:05.598Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-41412",
"date": "2026-07-23",
"epss": "0.00317",
"percentile": "0.23989"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-41412\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2026-06-02T23:16:37.793\",\"lastModified\":\"2026-07-21T19:10:00.107\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"alf.io is an open source ticket reservation system for conferences, trade shows, workshops, and meetups. Prior to version 2.0-M5-2606, the alf.io extension sandbox injects a fully-functional HTTP client (`simpleHttpClient`) into every extension script\u0027s scope. The `postFileAndSaveResponse()` method accepts an arbitrary filesystem path as its `file` parameter and reads the file contents using `new FileInputStream(file)` with no path validation, directory restriction, or allowlist. A malicious extension script can read any file accessible to the JVM process user and exfiltrate it to an attacker-controlled server via HTTP POST. Version 2.0-M5-2606 patches the issue.\"},{\"lang\":\"es\",\"value\":\"alf.io es un sistema de reserva de entradas de c\u00f3digo abierto para conferencias, ferias comerciales, talleres y encuentros. Antes de la versi\u00f3n 2.0-M5-2606, la sandbox de la extensi\u00f3n de alf.io inyecta un cliente HTTP completamente funcional (\u0027simpleHttpClient\u0027) en el \u00e1mbito de cada script de extensi\u00f3n. El m\u00e9todo \u0027postFileAndSaveResponse()\u0027 acepta una ruta de sistema de archivos arbitraria como su par\u00e1metro \u0027file\u0027 y lee el contenido del archivo usando \u0027new FileInputStream(file)\u0027 sin validaci\u00f3n de ruta, restricci\u00f3n de directorio o lista de permitidos. Un script de extensi\u00f3n malicioso puede leer cualquier archivo accesible para el usuario del proceso JVM y exfiltrarlo a un servidor controlado por un atacante a trav\u00e9s de HTTP POST. La versi\u00f3n 2.0-M5-2606 corrige el problema.\"}],\"affected\":[{\"source\":\"security-advisories@github.com\",\"affectedData\":[{\"vendor\":\"alfio-event\",\"product\":\"alf.io\",\"versions\":[{\"version\":\"\u003c 2.0-M5-2606\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N\",\"baseScore\":4.9,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"HIGH\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":1.2,\"impactScore\":3.6}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-06-03T14:01:59.867408Z\",\"id\":\"CVE-2026-41412\",\"options\":[{\"exploitation\":\"poc\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-22\"},{\"lang\":\"en\",\"value\":\"CWE-73\"}]}],\"references\":[{\"url\":\"https://github.com/alfio-event/alf.io/security/advisories/GHSA-6m62-53cw-4373\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/alfio-event/alf.io/security/advisories/GHSA-6m62-53cw-4373\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\"}]}}",
"redhat_vex": {
"current_release_date": "2026-06-05T19:36:23+00:00",
"cve": "CVE-2026-41412",
"id": "CVE-2026-41412",
"initial_release_date": "2026-01-01T00:00:00+00:00",
"product_status:known_not_affected": "1",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "alf.io vulnerable to Arbitrary File Read and Exfil via simpleHttpClient Extension Script",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-41412.json",
"version": "3"
},
"vulnrichment": {
"containers": "{\"cna\": {\"title\": \"alf.io vulnerable to Arbitrary File Read and Exfil via simpleHttpClient Extension Script\", \"problemTypes\": [{\"descriptions\": [{\"cweId\": \"CWE-22\", \"lang\": \"en\", \"description\": \"CWE-22: Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)\", \"type\": \"CWE\"}]}, {\"descriptions\": [{\"cweId\": \"CWE-73\", \"lang\": \"en\", \"description\": \"CWE-73: External Control of File Name or Path\", \"type\": \"CWE\"}]}], \"metrics\": [{\"cvssV3_1\": {\"attackComplexity\": \"LOW\", \"attackVector\": \"NETWORK\", \"availabilityImpact\": \"NONE\", \"baseScore\": 4.9, \"baseSeverity\": \"MEDIUM\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"NONE\", \"privilegesRequired\": \"HIGH\", \"scope\": \"UNCHANGED\", \"userInteraction\": \"NONE\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N\", \"version\": \"3.1\"}}], \"references\": [{\"name\": \"https://github.com/alfio-event/alf.io/security/advisories/GHSA-6m62-53cw-4373\", \"tags\": [\"x_refsource_CONFIRM\"], \"url\": \"https://github.com/alfio-event/alf.io/security/advisories/GHSA-6m62-53cw-4373\"}], \"affected\": [{\"vendor\": \"alfio-event\", \"product\": \"alf.io\", \"versions\": [{\"version\": \"\u003c 2.0-M5-2606\", \"status\": \"affected\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-06-02T22:51:36.358Z\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"alf.io is an open source ticket reservation system for conferences, trade shows, workshops, and meetups. Prior to version 2.0-M5-2606, the alf.io extension sandbox injects a fully-functional HTTP client (`simpleHttpClient`) into every extension script\u0027s scope. The `postFileAndSaveResponse()` method accepts an arbitrary filesystem path as its `file` parameter and reads the file contents using `new FileInputStream(file)` with no path validation, directory restriction, or allowlist. A malicious extension script can read any file accessible to the JVM process user and exfiltrate it to an attacker-controlled server via HTTP POST. Version 2.0-M5-2606 patches the issue.\"}], \"source\": {\"advisory\": \"GHSA-6m62-53cw-4373\", \"discovery\": \"UNKNOWN\"}}, \"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-41412\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-06-03T14:01:59.867408Z\"}}}], \"references\": [{\"url\": \"https://github.com/alfio-event/alf.io/security/advisories/GHSA-6m62-53cw-4373\", \"tags\": [\"exploit\"]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-06-03T14:00:07.457Z\"}}]}",
"cveMetadata": "{\"cveId\": \"CVE-2026-41412\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"state\": \"PUBLISHED\", \"assignerShortName\": \"GitHub_M\", \"dateReserved\": \"2026-04-20T15:32:33.812Z\", \"datePublished\": \"2026-06-02T22:51:36.358Z\", \"dateUpdated\": \"2026-06-03T14:02:05.598Z\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
Loading…
Loading…