CVE-2014-125030 (published 2023-01-01T09:15Z)

A vulnerability, which was classified as critical, has been found in taoeffect Empress. Affected by this issue is some unknown functionality. The manipulation leads to use of hard-coded password. The patch is identified as 557e177d8a309d6f0f26de46efb38d43e000852d. It is recommended to apply a patch to fix this issue. VDB-217154 is the identifier assigned to this vulnerability.

CVSS v3 base score: 9.8, CRITICAL (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

Weakness information:
cwe_id: CWE-798
cwe_name: Use of Hard-coded Credentials
description: The product contains hard-coded credentials, such as a password or cryptographic key.
extended_description: 
		   There are two main variations:
		   
			 Inbound: the product contains an authentication mechanism that checks the input credentials against a hard-coded set of credentials. In this variant, a default administration account is created, and a simple password is hard-coded into the product and associated with that account. This hard-coded password is the same for each installation of the product, and it usually cannot be changed or disabled by system administrators without manually modifying the program, or otherwise patching the product. It can also be difficult for the administrator to detect.
			 Outbound: the product connects to another system or component, and it contains hard-coded credentials for connecting to that component. This variant applies to front-end systems that authenticate with a back-end service. The back-end service may require a fixed password that can be easily discovered. The programmer may simply hard-code those back-end credentials into the front-end product.
		   
         
         

Fix information:
repo_url: https://github.com/taoeffect/empress
commit_details: repo_url: https://github.com/taoeffect/empress
author: Benjamin Woodruff
author_date: 2014-12-02 19:10:52-05:00
msg: Add digitalocean as a provider for vagrant

I've got a slow-ass laptop, so deploying to digitalocean is faster, and
cheap enough that I don't care.

This sets some default passwords, which makes the box vulnerable, but
the machine is short-lived and has no sensitive information so it
shouldn't matter. Long-term, this should be fixed somehow.
repository: repo_url: https://github.com/taoeffect/empress
repo_name: taoeffect/empress
description: Re-decentralize email. Make it secure. Make it simple. Make it yours.
repo_language: Python
owner: taoeffect
file_changes: filename: Vagrantfile
change_type: ModificationType.MODIFY
diff: @@ -9,13 +9,13 @@ Vagrant.configure("2") do |config|
   config.vm.network "private_network", ip: "172.16.100.2"
 
   config.vm.provision :ansible do |ansible|
-    ansible.playbook = "site.yml"
+    ansible.playbook = "test.yml"
     ansible.host_key_checking = false
-    ansible.extra_vars = { ansible_ssh_user: "vagrant", testing: true }
+    ansible.extra_vars = { testing: true }
 
     # ansible.tags = ["blog"]
     # ansible.skip_tags = ["openvpn"]
-    # ansible.verbose = "vvvv"
+    ansible.verbose = "vvvv"
   end
 
   config.vm.provider :virtualbox do |v|
@@ -26,6 +26,18 @@ Vagrant.configure("2") do |config|
     v.vmx["memsize"] = "256"
   end
 
+  config.vm.provider :digital_ocean do |provider, override|
+    override.ssh.private_key_path = "~/.ssh/id_rsa"
+    override.vm.box = "digital_ocean"
+    override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"
+
+    provider.ssh_key_name = "TODO"
+    provider.token = "TODO"
+    provider.image = "debian-7-0-x64"
+    provider.region = "nyc3"
+    provider.size = "512mb"
+  end
+
   #
   # vagrant-cachier
   #

programming_language: Ruby
filename: main.yml
change_type: ModificationType.MODIFY
diff: @@ -6,6 +6,3 @@
 
 - name: restart fail2ban
   service: name=fail2ban state=restarted
-
-- name: restart ssh
-  service: name=ssh state=restarted

programming_language: Markdown
filename: security.yml
change_type: ModificationType.MODIFY
diff: @@ -15,7 +15,3 @@
 
 - name: Ensure fail2ban is started
   service: name=fail2ban state=started
-
-- name: Update sshd config to disallow root logins
-  lineinfile: dest=/etc/ssh/sshd_config regexp=^PermitRootLogin line="PermitRootLogin no" state=present
-  notify: restart ssh

programming_language: Markdown
filename: README.md
change_type: ModificationType.ADD
diff: @@ -0,0 +1,8 @@
+empress.ssh
+===========
+
+Disables ssh `root` login. This improves security, but may get in the way if you
+aren't using a `deploy` user.
+
+Eventually, this should provide a number of common configurable tweaks for ssh,
+like disabling password auth.

programming_language: Markdown
filename: main.yml
change_type: ModificationType.ADD
diff: @@ -0,0 +1,3 @@
+---
+- name: restart ssh
+  service: name=ssh state=restarted

programming_language: SQL
filename: main.yml
change_type: ModificationType.ADD
diff: @@ -0,0 +1,4 @@
+---
+- name: Update sshd config to disallow root logins
+  lineinfile: dest=/etc/ssh/sshd_config regexp=^PermitRootLogin line="PermitRootLogin no" state=present
+  notify: restart ssh

programming_language: Batchfile
filename: site.yml
change_type: ModificationType.MODIFY
diff: @@ -7,10 +7,11 @@
   gather_facts: True
   vars_files:
     - vars/defaults.yml
-    - vars/{{ 'testing' if testing is defined else 'user' }}.yml
+    - vars/user.yml
 
   roles:
     - common
     - mailserver
+    - ssh
     - tarsnap
     # - mailpile # fix this

programming_language: CoffeeScript
filename: test.yml
change_type: ModificationType.ADD
diff: @@ -0,0 +1,18 @@
+---
+# Installs all the stuff that makes sense to use together for testing purposes
+# eventually we may want to have multiple implementations of this to test common
+# setups, eg. different vagrant configs for different sql backends.
+
+- hosts: all
+  # user should be defined by vagrant
+  sudo: True
+  gather_facts: True
+  vars_files:
+    - vars/defaults.yml
+    - vars/testing.yml
+
+  roles:
+    - common
+    - mailserver
+    - tarsnap
+    # - mailpile # fix this

programming_language: Markdown
filename: testing.yml
change_type: ModificationType.MODIFY
diff: @@ -5,6 +5,7 @@
 ###############################################################################
 
 # common
+testing: true
 domain: empress.local
 main_user_name: empress
 timezone: America/Los_Angeles

programming_language: Batchfile