Wallos: SSRF via Unvalidated User-Level SMTP Host in Email Notification Settings
Wallos is an open-source, self-hostable personal subscription tracker. Prior to version 5.0.0, Wallos lets any authenticated user store an arbitrary SMTP host — including private and cloud-metadata IP addresses — in their personal email notification settings, with no server-side SSRF validation. When the scheduled notification cron job runs, it passes the stored host directly to PHPMailer, causing the Wallos server to open an outbound TCP connection to whatever address the attacker specified. This gives a low-privileged attacker a reliable mechanism to probe internal network services from the server's perspective. This issue has been patched in version 5.0.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-77351
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 13:13 UTC · Revision 1
Source evidence
Wallos: SSRF via Unvalidated User-Level SMTP Host in Email Notification Settings
core-osv · Original sourcePublished 31 Aug 2026, 21:15 UTC
Wallos is an open-source, self-hostable personal subscription tracker. Prior to version 5.0.0, Wallos lets any authenticated user store an arbitrary SMTP host — including private and cloud-metadata IP addresses — in their personal email notification settings, with no server-side SSRF validation. When the scheduled notification cron job runs, it passes the stored host directly to PHPMailer, causing the Wallos server to open an outbound TCP connection to whatever address the attacker specified. This gives a low-privileged attacker a reliable mechanism to probe internal network services from the server's perspective. This issue has been patched in version 5.0.0.
osv:CVE-2026-77351
Complete source record
{
"id": "6b41d70473480b4f302e487297dc55659892934b07b2c5d71ecda9fa598448de",
"url": "https://osv.dev/vulnerability/CVE-2026-77351",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Wallos: SSRF via Unvalidated User-Level SMTP Host in Email Notification Settings",
"summary": "Wallos is an open-source, self-hostable personal subscription tracker. Prior to version 5.0.0, Wallos lets any authenticated user store an arbitrary SMTP host — including private and cloud-metadata IP addresses — in their personal email notification settings, with no server-side SSRF validation. When the scheduled notification cron job runs, it passes the stored host directly to PHPMailer, causing the Wallos server to open an outbound TCP connection to whatever address the attacker specified. This gives a low-privileged attacker a reliable mechanism to probe internal network services from the server's perspective. This issue has been patched in version 5.0.0.",
"evidence": "osv:CVE-2026-77351",
"products": [],
"severity": "low",
"structured": {
"id": "CVE-2026-77351",
"aliases": [
"CVE-2026-77351",
"GHSA-mwqv-gv8x-9jcp"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/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-77351.json"
}
}
],
"modified": "2026-10-28T02:30:35.551209836Z",
"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-77351.json",
"https://github.com/ellite/Wallos/security/advisories/GHSA-mwqv-gv8x-9jcp",
"https://nvd.nist.gov/vuln/detail/CVE-2026-77351",
"https://github.com/ellite/Wallos/commit/11eaf402e841a628c68a805694227ce66c45f6f3"
],
"provider_metadata": {
"cwe_ids": [
"CWE-918"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77351.json"
}
},
"related_cves": [
{
"value": "CVE-2026-77351",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 502903,
"published_at": "2026-08-31T21:15:23.59+00:00"
}