Skip to content
Heist/ feed
Back to feed
Low

Wallos: SSRF via Unvalidated User-Level SMTP Host in Email Notification Settings

Type: advisorySources: OSV

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 source

Published 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"
}